Layout CSS - wyrównanie poziome i pionowe
- Poprzednia strona CSS inline-block
- Następna strona Kombinatory CSS
element wyważony
wyważenie elementu
Aby wyważyć blokowy element (np. <div>), użyj margin: auto;
.
ustawienie szerokości elementu zapobiegnie rozszerzeniu się do krawędzi kontenera.
Następnie, element zajmie określoną szerokość, a reszta przestrzeni zostanie równomiernie podzielona między dwoma marginesami zewnętrznymi:
Przykład
.center { margin: auto; szerokość: 50%; border: 3px solid green; padding: 20px; }
Uwaga:Jeśli nie ustawiono szerokość
atrybutu (lub ustaw go na 100%), wyważenie będzie niewłaściwe.
wyważenie tekstu
Jeśli chcesz tylko wyśrodkować tekst w elemencie, użyj text-align: center;
:
Przykład
.center { text-align: center; border: 3px solid green; }
Wskazówka:Aby uzyskać więcej przykładów na wyważanie tekstu, zobacz Tekst CSS to rozdział.
wyśrodkowanie obrazu
Jeśli chcesz wyśrodkować obraz, ustaw lewe i prawe marginesy zewnętrzne auto
i ustaw go jako element blokowy:}

Przykład
img { display: block; margin-left: auto; margin-right: auto; width: 40%; }
Wyrównanie z lewej i prawej strony - użycie position
Jednym z sposobów wyrównania elementów jest użycie position: absolute;
:
Przykład
.right { position: absolute; right: 0px; width: 300px; border: 3px solid #73AD21; padding: 20px; }
Uwaga:Elementy umieszczone w absolutnym pozycjonowaniu są usuwane z normalnego strumienia i mogą się nakładać.
Wyrównanie z lewej i prawej strony - użycie float
Innym sposobem wyrównania elementów jest użycie float
Atrybuty:
Przykład
.right { float: right; width: 300px; border: 3px solid #73AD21; padding: 10px; }
Uwaga:Jeśli element jest wyższy niż element go zawierający i jest pływający, będzie wypływał poza jego kontener. Możesz użyć hack clearfix Aby rozwiązać ten problem (zobacz poniższy przykład).
Hack clearfix
Następnie możemy dodać do elementu zawierającego overflow: auto;
Aby rozwiązać ten problem:
Przykład
.clearfix { overflow: auto; }
Wyrównanie pionowe - użycie padding
W CSS istnieje wiele sposobów wyrównania elementów pionowo. Prostym rozwiązaniem jest użycie wewnętrznych marginesów górnych i dolnych:
Przykład
.center { padding: 70px 0; border: 3px solid green; }
Aby jednocześnie wyrównać pionowo i poziomo, użyj padding
i text-align: center;
:
Przykład
.center { padding: 70px 0; border: 3px solid green; text-align: center; }
Wyrównanie pionowe - użycie line-height
Innym trikiem jest użyciejej wartościjest równa height
Wartość atrybutu line-height
Atrybuty:
Przykład
.center { line-height: 200px; height: 200px; border: 3px solid green; text-align: center; } /* Jeśli jest więcej wierszy tekstu, dodaj następujący kod: */ .center p { line-height: 1.5; display: inline-block; vertical-align: middle; }
Wyrównanie pionowe - użycie position i transform
Jeśli Twój wybór nie jest padding
i line-height
W przypadku innej rozwiązania, można użyć position
i transform
Atrybuty:
Przykład
.center { height: 200px; position: relative; border: 3px solid green; } .center p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
Wskazówka:Będziesz w Przekształcenia 2D W tym rozdziale nauczysz się więcej o właściwości transform
Wyrównanie pionowe - używając Flexbox
Możesz również użyć flexbox do wyśrodkowania treści. Proszę zauważyć, że IE10 i wcześniejsze wersje nie obsługują flexbox:
Przykład
.center { display: flex; justify-content: center; align-items: center; height: 200px; border: 3px solid green; }
Wskazówka:Będziesz w mojej CSS Flexbox W tej rozdziale nauczysz się więcej o Flexbox
- Poprzednia strona CSS inline-block
- Następna strona Kombinatory CSS