3 proste sposoby wyśrodkowania elementu za pomocą CSS

Najważniejsze aspekty układania elementów

  • Umieszczanie elementów na środku strony zawsze stanowiło trudność, jednak nowoczesne techniki CSS umożliwiają teraz łatwe osiągnięcie tego celu.
  • Flexbox, będący elastycznym modelem układu, jest najczęściej wykorzystywanym sposobem centrowania, ułatwiającym wyrównywanie i rozmieszczanie elementów.
  • CSS Grid i pozycjonowanie CSS to kolejne efektywne metody, które oferują szczegółową kontrolę nad rozmieszczeniem i wyśrodkowaniem komponentów na stronie internetowej.

Wyśrodkowanie elementu w interfejsie witryny internetowej to zadanie, które nieraz nastręczało problemów projektantom. Pomimo, że nie zawsze było to proste, wiele projektów wymaga umieszczenia elementów w centralnej pozycji. Na szczęście, współczesny CSS zapewnia skuteczne narzędzia do centrowania.

Przekonajmy się, jak można wyśrodkować element div zarówno w poziomie, jak i w pionie, korzystając z Flexbox, CSS Grid oraz pozycjonowania CSS.

Prosty plik HTML do nauki centrowania

W poniższych przykładach, aby zobrazować centrowanie za pomocą CSS, wykorzystano uproszczoną strukturę HTML. Zaleca się korzystanie z tego kodu i modyfikowanie CSS w poszczególnych sekcjach, aby zrozumieć działanie tych właściwości.

 <!DOCTYPE html>
<html>
<head>
<style>
div { width: 100px; height: 100px; }
body { height: calc(100vh - 16px); }
</style>
</head>
<body>
<div></div>
</body>
</html>

Centrowanie elementu Div przy użyciu Flexbox

Zanim zaczniemy używać Flexbox do centrowania elementu div, warto zapoznać się z jego podstawami. Flexbox, dzięki swojej prostocie, jest bardzo popularny. Umożliwia on elastyczne zarządzanie układem, co jest idealne do wyrównywania i rozkładania przestrzeni między elementami w kontenerze.

Aby osiągnąć centrowanie za pomocą Flexbox, zastosuj poniższy kod CSS:

  • Należy umieścić element div wewnątrz kontenera. Następnie, dodaj do kontenera właściwość display: flex, aby aktywować układ Flexbox. W celach demonstracyjnych, element body może pełnić rolę kontenera:
     body {
    display: flex;
    }
  • Wykorzystaj właściwości justify-content i align-items, aby odpowiednio wyrównać elementy wzdłuż osi głównej (poziomo) i osi poprzecznej (pionowo). Ustawiając obie te właściwości na wartość center, wyśrodkujesz elementy na obu osiach. Dodatkowo, aby uwidocznić efekt wyrównania w pionie, ustaw wysokość body na 100vh:
     body {
    justify-content: center;
    align-items: center;
    }
  • Nadaj elementowi div kolor tła, aby lepiej obserwować jego położenie na stronie:
     div { background-color: red; } 
  • Po analizie wyników w Narzędziach Deweloperskich przeglądarki Chrome, można zauważyć, w jaki sposób te dwie właściwości sterują wyrównaniem wzdłuż każdej z osi:

    Wykorzystanie CSS Grid do wyśrodkowania elementu Div

    Centrowanie za pomocą CSS Grid to kolejna skuteczna metoda, umożliwiająca precyzyjne zarządzanie układem i wyrównaniem elementów na stronie.

  • Zdefiniuj kontener dla układu i zastosuj styl display: grid, aby uruchomić CSS Grid. W tym przykładzie, kontenerem jest ciało strony (body):
     body {
    display: grid;
    }
  • Użyj właściwości grid-template-columns i grid-template-rows, aby określić strukturę siatki. W celu wycentrowania elementu, wystarczy jedna kolumna i jeden wiersz, dlatego dla obu używamy wartości 1fr:
     body {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    }
  • Właściwość place-items pozwala na wyśrodkowanie zawartości siatki zarówno w pionie, jak i w poziomie:
     body {
    place-items: center;
    }
  • Stylizując tło elementu div, łatwiej zauważymy, że znajduje się on na środku kontenera siatki:
     div {
    background-color: blue;
    }
  • W tym przypadku, pojedyncza właściwość jest odpowiedzialna za centralne położenie elementu div na stronie:

    Centrowanie elementu Div z wykorzystaniem pozycjonowania CSS

    Aby zastosować pozycjonowanie CSS do wyśrodkowania elementu div, należy zrozumieć, jak działają transformacje CSS wraz z przejściami. Poniżej znajduje się szczegółowy opis z przykładem.

  • Aby prawidłowo ustawić element div, należy upewnić się, że jego kontener ma pozycję względną. To tworzy kontekst pozycjonowania, który umożliwi umieszczenie elementu div dokładnie na środku kontenera:
     body {
    position: relative;
    }
  • Do elementu div zastosuj pozycjonowanie absolutne, a następnie wykorzystaj właściwości top i left, aby ustawić jego lewy górny róg dokładnie na środku kontenera.
     div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: green;
    }

    Transformacja translate(-50%, -50%) przesuwa element div o połowę jego szerokości w lewo i o połowę wysokości w górę.

  • Ta metoda polega na tym, że najpierw środek elementu jest ustawiany, a następnie jest on przesuwany o połowę swojej szerokości i wysokości.

    Flexbox, CSS Grid i pozycjonowanie CSS to wszechstronne narzędzia do centrowania elementów na stronach internetowych. Flexbox pozwala na wyśrodkowanie zarówno w poziomie, jak i w pionie za pomocą kilku linijek kodu. CSS Grid umożliwia zaawansowane wyrównanie w dwóch wymiarach, a pozycjonowanie CSS pozwala na wyśrodkowanie elementu względem jego kontenera.

    Wykorzystując te techniki, można stworzyć strony internetowe o profesjonalnym i przejrzystym wyglądzie.