9.1 Poziome centrowanie
Centrowanie elementów na stronie to jedna z podstawowych zadań w web designie. Pozwala na stworzenie estetycznych i łatwych do odczytania układów. Poniżej przyjrzymy się różnym metodom centrowania poziomego i pionowego elementów, używając nowoczesnych technik CSS.
1. Centrowanie elementów blokowych za pomocą margin: auto
Jednym z najprostszych sposobów centrowania elementów blokowych jest użycie margin: auto
.
Przykład:
.centered-box {
width: 200px;
height: 100px;
background-color: #3498db;
margin: 0 auto;
}
<div class="centered-box"></div>
Wyjaśnienie kodu:
margin: 0 auto;
: ustawia automatyczne marginesy po lewej i prawej stronie, centrowanie elementu w poziomie
2. Centrowanie elementów linowych za pomocą text-align
Aby wycentrować elementy linowe lub wbudowane wewnątrz elementu blokowego, można użyć właściwości text-align: center
.
Przykład:
.container {
text-align: center;
background-color: #f1c40f;
padding: 20px;
}
.inline-element {
background-color: #e74c3c;
display: inline-block;
padding: 10px;
color: white;
}
<div class="container">
<div class="inline-element">Element linowy</div>
</div>
Wyjaśnienie kodu:
text-align: center;
: centrowanie elementów wbudowanych (linowych) wewnątrz bloku
3. Centrowanie elementów za pomocą Flexbox
Flexbox zapewnia elastyczny i prosty sposób centrowania elementów zarówno w poziomie, jak i w pionie.
Przykład:
.flex-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #2ecc71;
}
.centered-box {
width: 200px;
height: 100px;
background-color: #3498db;
}
<div class="flex-container">
<div class="centered-box"></div>
</div>
Wyjaśnienie kodu:
display: flex;
: ustawia kontener jako Flexboxjustify-content: center;
: centrowanie elementów w poziomiealign-items: center;
: centrowanie elementów w pionie (będzie omówione dalej)
9.2 Pionowe centrowanie
1. Centrowanie za pomocą Flexbox
Flexbox zapewnia prosty sposób pionowego centrowania elementów.
Przykład:
.flex-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #2ecc71;
}
.centered-box {
width: 200px;
height: 100px;
background-color: #3498db;
}
<div class="flex-container">
<div class="centered-box"></div>
</div>
Wyjaśnienie kodu:
align-items: center;
: centrowanie elementów w pionie
2. Centrowanie za pomocą CSS Grid
CSS Grid oferuje potężne możliwości centrowania elementów:
.grid-container {
display: grid;
place-items: center;
height: 100vh;
background-color: #9b59b6;
}
.centered-box {
width: 200px;
height: 100px;
background-color: #3498db;
}
<div class="grid-container">
<div class="centered-box"></div>
</div>
Wyjaśnienie kodu:
display: grid;
: ustawia kontener jako CSS Gridplace-items: center;
: centrowanie elementów w poziomie i pionie
3. Pionowe centrowanie za pomocą pozycji absolutnego i CSS transform
Użycie pozycji absolutnego i CSS transform pozwala centrować elementy w pionie.
Przykład:
.container {
position: relative;
height: 100vh;
background-color: #e74c3c;
}
.centered-box {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 100px;
background-color: #3498db;
}
<div class="container">
<div class="centered-box"></div>
</div>
Wyjaśnienie kodu:
position: absolute;
: ustawia element w absolutnej pozycji względem konteneratop: 50%;
,left: 50%;
: przesuwa element o 50% od górnej i lewej krawędzi konteneratransform: translate(-50%, -50%);
: przesuwa element o 50% jego szerokości i wysokości w celu centrowania
4. Pionowe centrowanie za pomocą tabeli i komórek
Użycie tabeli i komórek do centrowania elementów w pionie.
Przykład:
.table-container {
display: table;
width: 100%;
height: 100vh;
background-color: #f39c12;
}
.table-cell {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.centered-box {
display: inline-block;
background-color: #3498db;
padding: 20px;
color: white;
}
<div class="table-container">
<div class="table-cell">
<div class="centered-box">Wycentrowany element</div>
</div>
</div>
Wyjaśnienie kodu:
.table-container
: tworzy kontener z wyświetleniemtable
.table-cell
: tworzy komórkę tabeli z pionowym wyrównaniemmiddle
GO TO FULL VERSION