Tworzenie stron internetowych - poradnik
Layout i układ strony internetowej za pomocą CSS to ważny aspekt tworzenia stron internetowych. Istnieją różne sposoby układania elementów na stronie, a dwa popularne sposoby to używanie Flexbox i Grid.
Flexbox (Flexible Box Layout) to model layoutu, który pozwala na elastyczne rozmieszczanie elementów w poziomie lub pionie. Flexbox jest przydatny do tworzenia układów o stałej szerokości lub wysokości, które automatycznie dopasowują się do rozmiaru okna przeglądarki. Oto przykład, jak ustawić elementy w rzędach:
.container {
display: flex;
flex-wrap: wrap;
}
.item {
flex: 1;
}
Grid Layout jest bardziej zaawansowanym modelem layoutu, który pozwala na tworzenie układów tabelarycznych. Układ Grid składa się z linii poziomych i pionowych, tworząc siatkę, na której rozmieszczamy elementy. To pozwala na precyzyjne określenie pozycji i rozmiarów elementów względem siebie.
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 10px;
}
.item {
grid-column: 2 / span 2;
}
Oba Flexbox i Grid są bardzo przydatne przy tworzeniu responsywnych i elastycznych układów strony internetowej. Często wykorzystywane są razem po to, aby uzyskać jak najwięcej kontroli nad układem i dostosowanie go do różnych rozdzielczości ekranów.
Oto przykład prostego layoutu.
HTML:
<div class="container">
<div class="header">header</div>
<div class="nav">nav</div>
<div class="main">main</div>
<div class="sidebar">sidebar</div>
<div class="footer">footer</div>
</div>
CSS:
.container {
display: grid;
grid-template-columns: 1fr 3fr 1fr; /* Kolumny: sidebar, main, sidebar */
grid-template-rows: 60px auto 60px; /* Wiersze: header, dynamicznie wypełniony obszar, footer */
}
/* Ustawienie elementów */
.header {
grid-column: 1 / span 3; /* Przepływający przez całą szerokość */
grid-row: 1; /* W pierwszym wierszu */
}
.nav {
grid-column: 2; /* W drugiej kolumnie */
grid-row: 2; /* W drugim wierszu */
}
.main {
grid-column: 2; /* W drugiej kolumnie */
grid-row: 3; /* W trzecim wierszu */
}
.sidebar {
grid-column: 1 / span 1; /* W pierwszej kolumnie */
grid-row: 2 / span 2; /* Przepływający przez dwa wiersze */
}
.footer {
grid-column: 1 / span 3; /* Przepływający przez całą szerokość */
grid-row: 3; /* W trzecim wierszu */
}
W powyższym przykładzie kontener container
jest ustawiony jako grid, z trzema kolumnami o stałej szerokości i trzema wierszami: header, dynamicznie wypełniony obszar i footer. Następnie poszczególne elementy są ustawione w odpowiednich miejscach za pomocą grid-column i grid-row. W taki sposób możemy precyzyjnie określić pozycję i rozmiar każdego elementu w stosunku do innych elementów, tworząc złożony i responsywny układ strony.