Jak naprawdę działa rozliczanie CSS?
mam<div>
że chcę być sam na linii. WedługW3Schools, ta reguła:
div.foo {
clear: both;
}
... powinno to oznaczać:
„Brak elementów pływających po lewej lub prawej stronie”.
Jednakże, jeśli pływam dwa<div>
pozostałe elementy i zastosuj powyższą regułę do pierwszej, druga nie poruszy się.
Z drugiej strony, jeśli złożę wniosek"clear: left"
do drugiego<div>
, przesuwa się w dół do następnej linii. To jest moje normalne podejście, ale nie rozumiem, dlaczego muszę to robić w ten sposób.
Czy powyższy opis W3Schools jest słabo określony, czy coś mi brakuje?Czy reguła rozliczeniowa może przesuwać tylko element, do którego jest stosowana?
OdpowiedźDzięki Michael S i John D za dobre wyjaśnienia. Warren wskazał naspecyfikacja CSS2i tam znalazłem tę odpowiedź (podkreślenie moje):
Ta właściwość wskazuje, które strony pola (elementów) elementu mogą nie sąsiadować zwcześniej pływające pudełko.
Więc:clear
wpływa tylko na pozycję elementu, do którego jest stosowany, względem elementów, które pojawiają się przed nim, kodu.
Rozczarowujące, że nie mogę powiedzieć<div>
aby przesunąć inne divy w dół, ale są to przerwy. :)