Ramping auf CSS3 Güte, und lief über einen interessanten Nebeneffekt bei der Verwendung column-span: all
. Nach dem Hinzufügen dieser Regel zu einer HR, die das dritte Element war, rendern die ersten beiden Elemente nun Seite an Seite.CSS3 Spalten: "column-span: all": Wie/warum funktioniert das?
JSFiddle:
divs
, hr
und Spalten ohne die 'Spaltenspanne' -Stil. Divs 'ONE' und 'zwei' stapeln sich vertikal, wie erwartet: https://jsfiddle.net/9r7ot2v1/7/
<div class="parent">
<div>
ONE
</div>
<div>
TWO
</div>
</hr>
</div>
Same-Code, mit column-span: all
hinzugefügt, um die hr
. Jetzt divs 'ONE' und 'zwei' side-by-side gerendert werden, etwas, das man normalerweise einen Schwimmer bräuchten oder display: inline-block
zu erreichen: https://jsfiddle.net/9r7ot2v1/8/
<div class="parent">
<div>
ONE
</div>
<div>
TWO
</div>
</hr>
</div>
Warum die column-span: all
Regel divs 'ONE' machen und 'ZWEI' rendern nebeneinander?
Update: Hintergrundfarben zu Fiddles hinzugefügt, um die Layoutänderung deutlicher zu machen.
FWIW: Diese repros für mich in Chrome 50.0.2661.87 m
Bitte schauen Sie sich nochmal die beiden Geigen an. Sie ändern sich. Durch Hinzufügen von 'hr {column-span: all;}' wird das Layout geändert. Vor der Regel werden divs ONE und TWO wie erwartet vertikal gestapelt. Nachdem Sie die Regel hinzugefügt haben, werden divs ONE und TWO Seite an Seite gerendert, als ob sie schweben würden. Die Frage ist, warum passiert das? –
aktualisiert es @jayess – troxup
http://www.w3fools.com/ –