HOME > CSS

Layout i układ strony internetowej

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.

Podobne artykuły