h-Tag links und p-Tag rechts in einem div

  • Guten Tag zusammen,

    ich habe ein div (oben) und in jenem möchte ich die Überschrift h1 links anordnen und den p-Tag rechts daneben. Das ganze habe ich versucht, so um zu setzen:

    html Teil:

    Code
    <div id="oben"><h1 name="oben">Titel der Seite</h1>
    <p>Untertitel</p></div>

    Doch leider funktioniert es nicht: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Es wird zwar beides links bzw. rechts gefloatet, doch es ist außerhalb des divs. Gut wäre es, wenn es so aussieht: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wie kann ich das ändern? (Die rote Hintergrundfarbe ist nur zum testen).

    Gruß Muckel

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Du brauchst danach noch ein clearendes Element, da floatende Elemente aus dem normalen Fluß heruasgenommen werden. Daher wird das umschließende <div> nicht auf deren Höhe aufgezogen.

    HTML
    <br style="clear:both" />
  • Moin,

    ein Fehler habe ich schon gefunden, es war das text-align:center was noch drinne war. Doch jetzt wird es komisch an geziegt: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wie bekomme ich diesen versatz weg und wie bekomme ich das ins rote div?

    Gruß und Danke
    Muckel

  • Du brauchst danach noch ein clearendes Element, da floatende Elemente aus dem normalen Fluß heruasgenommen werden. Daher wird das umschließende <div> nicht auf deren Höhe aufgezogen.

    HTML
    <br style="clear:both" />

    Das hat leider auch zu keinem Ergebnis geführt:

    Code
    <div id="oben"><h1 name="oben">Titel der Seite</h1>
    <p>Untertitel</p><br style="clear:both" /></div>
  • Das mit der höhe ging jetzt (hatte noch ein height drin :( .). Doch ich habe ein versatz drin - würde gerne beide unten anordnen.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Gruß Muckel

  • Natürlich muss genügend Platz vorhnaden sein, dass die beiden auch nebeneinander passen. Sonst rutscht das eine unter das andere. Abstand nach oben geht mittels margin-top. Oder du nimmst einfach eine Tabelle mit 2 Spalten. :twisted:

  • Das Problem ist ja nicht die höhe - denn jene habe ich entfernt, so dass das ganze "dynamisch" ist. Leider ist es so, dass das h1 ja höher ist als das p Tag. Und das p Tag richtet sich nun an die obere Grenze des h1 und nicht, wie gewollt/gewünscht, an die untere.

    Gruß und Danke
    Muckel

  • Ich weiß schon was dein Problem ist. Wie gesagt, am einfachsten wäre in deinem Fall die Verwendung einer 2spaltigen Tabelle, da nur dort vertical-align wie "erwartet" funktioniert. Ansonsten musst du versuchen bei <hX> und <p> mit height und line-height solange rumzuspielen, bis du auf vernünftige Werte kommst.

  • wenn was nach rechts fließt sollte es im Quelltext VOR dem Teil stehen, das nach Links fließt, dann sind die auf gleicher Höhe

    lg

  • Ist eine Tabelle noch valid bei so etwas und wie verhält sich das mit den Richtlinien zur Barriere freiheit?

    Gruß Muckel



    :-? nix gut , Lösung ist oberhalb

    lg

  • Ist eine Tabelle noch valid bei so etwas


    Warum nicht? :confused:

    Zitat

    und wie verhält sich das mit den Richtlinien zur Barriere freiheit?


    Was ist an einer Tabelle mit 2 <td>s semantisch anders als an 2 <div>s?

    Du kannst natürlich auch die display-Eigenschaften "table-cell" verwenden:
    display: Anzeigeart: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets
    (manche ganz verwirrte Leute meinen, das Tabellen so böse™ sind, dass man sie nicht verwenden darf, und bauen statt dessen Tabellen mit <div>s und entsprechenden display-Eigenschaften nach und meinen, dass das ja viieel besser ist...)

    Das Problem bei Barrierearmut ("Barrierefreiheit" gibts nicht) sind ineinander verschachtelte Tabellen, da hier die Screenreader nicht mehr wissen, wie sie es darstellen sollen.

    Versuchs erstmal mit Monikas Tipp und mit angepassten Höhen. Wenn das nicht so wirklich klappen will, dann kannst es immernoch mit einer "bösen™" Tabelle versuchen. ;-)

  • Ist eine Tabelle noch valid bei so etwas und wie verhält sich das mit den Richtlinien zur Barriere freiheit?

    Gruß Muckel



    valid ja barrierefrei nein

    fload right muß immer vor float left stehen, dann gehts

    lg

  • Mmmh... :? Na egal...


    Wobei man sich dann wahrscheinlich auch das float:left sparen kann. Es soll ja dann nichts mehr danach rechts am links gefloateten vorbei fließen.



    naja kann man nicht, weil h2 ein Blockelement ist und display:inline anders reagiert als float left und weils sonst mit der Breite hapert usw...
    aber wenn man kann, kann man --- leicht ists mit dem fließen

    lg

  • Mein Testcase: (zugegebenermaßen nur im FF3 getestet)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!