Float - Parent vermasselt Floating?

  • Moin,


    ich habe gerade ein Problemchen mit Float, und zwar habe ich zwei Textabsätze (p) und diese möchte ich nebeneinander floaten.


    Also:

    HTML
    <p style="float:left; background-color:red;">
    					Anschrift
    				</p>
    				<p style="background-color:blue;">
    					Max Mustermann
    				</p>


    Das ganze funktioniert auch, aber wenn ich es nun in meiner Website einfüge, sieht es so aus:


    [Blockierte Grafik: http://laerik.de/img/hu/5335b544ed1a1.png]


    Auszug aus dem Quelltext:


    [Blockierte Grafik: http://laerik.de/img/hu/5335b566c4826.png]



    Wenn ich beide Absätze auf float:left stelle, geht es, aber ich verstehe nicht wieso es nicht normal geht.

  • Float nimmt Elemente aus dem normalen Fluss der Seite heraus und ordnet sie unabhängig vom normalen Fluss auf der entsprechenden Seite, in deinem Fall links, an.
    Wenn du dann ein nachfolgendes Element hast was kein float hat ordnet es sich so an, als ob das gefloatete Element nicht vorhanden wäre (deshalb ist die blaue Box in deinem Fall über die komplette Breite gestreckt).
    Danach schiebt sich lediglich der Inhalt des Elements nach rechts, weil der Inhalt des gefloateten Elements immer noch Platz einnimmt.#


    Gibst du beiden Elementen ein float ordnen sich beide außerhalb des normalen Seitenflusses "normal" nebeneinander an.

  • Float nimmt Elemente aus dem normalen Fluss der Seite heraus und ordnet sie unabhängig vom normalen Fluss auf der entsprechenden Seite, in deinem Fall links, an.
    Wenn du dann ein nachfolgendes Element hast was kein float hat ordnet es sich so an, als ob das gefloatete Element nicht vorhanden wäre (deshalb ist die blaue Box in deinem Fall über die komplette Breite gestreckt).
    Danach schiebt sich lediglich der Inhalt des Elements nach rechts, weil der Inhalt des gefloateten Elements immer noch Platz einnimmt.#


    Gibst du beiden Elementen ein float ordnen sich beide außerhalb des normalen Seitenflusses "normal" nebeneinander an.


    Und wieso ist der zweite Absatz denn dann leicht "über" dem ersten, wenn er eigentlich nur nach rechts verschoben wird?
    Und wieso geht es, wenn ich einfach folgendes in ein leeres HTML Dokument einfüge:


    HTML
    <p style="float:left; background-color:red;">
    					Anschrift
    				</p>
    				<p style="background-color:blue;">
    					Max Mustermann
    				</p>
  • Bitte gar nicht erst angewöhnen das mit dem html/css misch...
    Lieber so:


    Um zu verhindern das Ein Element noch nachrückt gibt es 2 Möglichkeiten:
    1.

    HTML
    <element>Das ELemnet mit dem Float</element>
    <div class="stop"><!-- Stopt den Float --></div>
    <style type="text/css">
    .stop{
        clear: both;
    }
    </style>


    2.

    HTML
    <element>Das ELemnet mit dem Float</element>
    <element2>Das ELemnet was kein Float haben soll</element2>
    <style type="text/css">
    element2{
        float: none;
    }
    </style>


    2. Ungetestet aber denke es geht..

  • Ähm.
    Der HTML-CSS-Mix war nur zu Testzwecken.
    Du hast meine Frage anscheinend falsch verstanden, denn ich suchte nicht nach einer Möglichkeit ein Nachrutschendes Element zu verhindern. (dafür verwende ich einen clearfix)

  • Zitat

    Und wieso ist der zweite Absatz denn dann leicht "über" dem ersten, wenn er eigentlich nur nach rechts verschoben wird?


    Da ist tendenziell ein padding irgendwo drin.. Setz das mal auf null für den zweiten Absatz :)

Jetzt mitmachen!

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