Kako vertikalno i horizontalno centrirati element na sredinu ekrana?

Pokazali smo kako na više načina možemo horizontalno centrirati element, a sada je vreme da to znanje iskoristimo, a zatim i proširimo. Na primer: imamo zadatak da element smestimo na sredinu ekrana, a pri tom on treba biti i responsive

U ovom primeru prikazaćemo kako to da uradimo flex metodom.

Ovo je HTML deo koda na našoj stranici, imamo roditeljski div element page-container i u njemu blok koji želimo da centriramo:

<div class="page-container">
  <div class="block">
    <h1>Ja sam centriran :)</h1>
  </div>
</div>

Resetovaćemo predefinisane vrednosti margin-a i padding-a za sve elemente. To ćemo uciniti unutar css fajla na sledeći način:

* {
  padding: 0;
  margin: 0;
}

Vertikalno centriranje ćemo postići koristeći CSS, na sledeći način: najpre roditeljskom elementu dodelimo atribut display čiju vrednost postavimo da bude flex, kako bismo dobili responsive element, zatim namestimo da element ima minimalnu visinu 100% sa min-height, ovako smo element proširili preko celog pretrazivača, i ostalo nam je da sve elemente koji se nalaze unutar njega centriramo koristeći align-items: center

.page-container {
   background-color: #ffbf00;
   display: flex;
   min-height: 100%; 
   min-height: 100vh; 
   align-items: center;
}
.block {
   background-color: #ffffff;
   padding: 10px;
}

Sada kada smo vertikalno centrirali element, možemo dodati i horizontalno centriranje metodom auto margine. U ovom slučaju će se elemet block nalaziti na sredini ekrana.

.page-container {
   background-color: #ffbf00;
   display: flex;
   min-height: 100%; 
   min-height: 100vh; 
   align-items: center;
}
.block {
   background-color: #ffffff;
   padding: 10px;
   margin: 0px auto; /*za horizontalno centriranje*/
}

Sada možeš da pokreneš program i probaj da promeniš veličinu prozora, sve je responzivno 😉

Hvala ti što si pročitao/la naš blog post. Prijavi se na naš newsletter i primaj besplatan edukativan sadržaj direktno u inbox!

Happy coding!

Similar Posts