Pozycjonowanie elementów strony CSS
Sposób | Działanie | Zastosowanie | Wady | Bieg dokumentu |
---|---|---|---|---|
position:static + display:block |
Przenosi element do nowej linii | Nie potrzeba niczego specjalnego do rozmieszczania elementów jeden pod drugim | Brak | Tak |
display:table-cell |
Łączy sąsiednie elementy ze sobą | Pozwala bardzo łatwo tworzyć kolumny równej wysokości | Elementy tabel mają odmienne zachowanie i ograniczenia względem innych elementów CSS | Tak |
float + clear |
Odsuwa element w lewo lub prawo | Kolumny, wstawki obok tekstu, ilustracje | Trzeba zapewnić odpowiednio dużo miejsca na kolumny, w przeciwnym wypadku niektóre „spadną” do następnej linii | Częściowo tak |
display:inline-block |
Zamienia element liniowy w boks w tym samym miejscu | Do umieszczania złożonych elementów w tekście lub elementów które mają się przenosić do nowej linii jak tekst | Wielkość tekstu i spacje wpływają na elementy | Tak |
position:absolute + position:relative |
Umieszcza element w dowolnym miejscu | Do precyzyjnego konstruowania elementów strony, które mogą mieć ograniczoną, stałą wysokość | Trzeba uważać, żeby nie zasłaniały innych elementów dokumentu | Nie |
Najbardziej wszechstronny jest float
. Można za jego pomocą zrobić kolumny, poziome menu i ilustracje w tekście. Galerie zdjęć z podpisami lub etykiety formularzy najłatwiej robić za pomocą display:inline-block
. Do zbudowania nagłówka i umieszczenia menu przydatne jest positon:absolute
, ale nie zawsze da się za jego pomocą zrobić kolumny i stopkę pod nimi.
float
i position:absolute
pozwala zamienić wizualną kolejność elementów względem ich kolejności w dokumencie — np. dzięki float:right
można spowodować, że prawa kolumna załaduje się przed lewą.
Pojedynczy element można wycentrować lub przesunąć do prawej krawędzi za pomocą margin:auto
Sama właściwość position:relative
nie nadaje się do budowania układu całej strony.