3 enkla sätt att centrera ett element med CSS

By rik

Viktiga Slutsatser

  • Att placera element i mitten av webbsidor har alltid varit en utmaning, men moderna CSS-metoder erbjuder nu enkla lösningar för central positionering.
  • Flexbox är en flitigt använd teknik för att centrera element. Det tillhandahåller en anpassningsbar layoutmodell som möjliggör enkel justering.
  • CSS Grid och CSS-positionering är också effektiva alternativ för att centrera element på en webbsida, vilket ger precis kontroll över layout och inriktning.

Att centrera ett element på en webbsida har länge varit ett problem för webbdesigners. Det har inte alltid varit enkelt, men många designlösningar kräver att element placeras centralt. Tack och lov har modern CSS nu utmärkt stöd för centrering.

Här kommer du att lära dig hur du centrerar en div horisontellt och vertikalt med hjälp av Flexbox, CSS Grid och CSS-positionering.

En Enkel HTML-Fil För Att Öva På Centrering

Följande exempel använder en minimal HTML-struktur för att demonstrera hur man centrerar element med CSS. Använd denna HTML-struktur och experimentera med CSS i varje avsnitt för att se hur de olika egenskaperna fungerar.

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

Centrera Ett Div-Element Med Flexbox

Innan du använder Flexbox för att centrera en div måste du förstå grunderna. Flexbox är lyckligtvis ganska enkelt, vilket är anledningen till att det används så ofta. Det erbjuder en flexibel layoutmodell som gör det enkelt att justera och fördela utrymme mellan element i en behållare, vilket gör det perfekt för centrering.

Använd följande CSS för att centrera element med Flexbox.

  • Placera ditt div-element i en behållare. Använd egenskapen `display: flex` på behållaren för att aktivera Flexbox-layouten. I ett enkelt exempel kan kroppen fungera som behållare:
     body {
      display: flex;
    } 
  • Använd egenskaperna `justify-content` och `align-items` för att justera elementen längs huvudaxeln (horisontell) respektive tväraxeln (vertikal). För att centrera på båda axlarna, ställ in dessa egenskaper på `center`. För en enkel demonstration, ställ in höjden på kroppen till `100vh` så att du tydligt kan se effekten av den vertikala centreringen.
     body {
      justify-content: center;
      align-items: center;
    } 
  • Ge div-elementet en bakgrundsfärg för att visualisera dess position:
     div { background-color: red; } 

När du visar resultatet i webbläsarens utvecklarverktyg kan du se hur dessa två egenskaper påverkar justeringen längs varje axel:

Centrera Ett Div-Element Med CSS Grid

Att använda CSS Grid för att centrera ett element är ett annat effektivt sätt som ger noggrann kontroll över layout och inriktning.

  • Definiera en behållare för din layout och använd stilen `display: grid` för att aktivera CSS Grid. I det här fallet fungerar kroppen som behållare.
     body {
      display: grid;
    } 
  • Använd egenskaperna `grid-template-columns` och `grid-template-rows` för att definiera strukturen för ditt rutnät. För centrering räcker det med en enda kolumn och rad, så använd `1fr` för båda.
     body {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
    } 
  • Använd egenskapen `place-items` för att centrera innehållet i rutnätet, både horisontellt och vertikalt.
     body {
      place-items: center;
    } 
  • Ge ditt div-element en bakgrundsfärg för att visualisera det i mitten av rutnätsbehållaren.
     div {
      background-color: blue;
    } 

I det här fallet styr en enda egenskap den centrala placeringen av div-elementet på din sida:

Centrera Ett Div-Element Med CSS-Positionering

För att centrera en div med hjälp av CSS-positionering, måste du även förstå hur CSS-transformeringar med översättning fungerar. Här är en steg-för-steg-guide med ett exempel.

  • För att positionera div-elementet, se till att dess behållare har en relativ position. Detta etablerar en relativ positioneringskontext så att du kan placera div i mitten av dess behållare.
     body {
      position: relative;
    } 
  • Tillämpa absolut positionering på div-elementet. Använd sedan egenskaperna `top` och `left` för att placera div:s övre vänstra hörn exakt i mitten av dess behållare.
     div {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: green;
    } 

    Transformeringen `translate(-50%, -50%)` flyttar div till vänster och uppåt med halva dess bredd respektive höjd.

Denna metod fungerar genom att först centrera elementets övre hörn och sedan justera det med hälften av dess bredd och höjd.

Flexbox, CSS Grid och CSS-positionering är effektiva verktyg du kan använda för att centrera element på en webbsida. Med Flexbox kan du enkelt centrera både horisontellt och vertikalt med bara ett par rader kod. CSS Grid ger kraftfull justering i två dimensioner, och CSS-positionering är användbart för att centrera ett element i förhållande till sin överordnade behållare.

Med dessa tekniker kan du se till att dina webbsidor ser snygga och professionella ut.