Hur man skapar: lika höga kolumner
- Föregående sida Klistrande element
- Nästa sida Rensa flöden
Lär dig hur du skapar lika höga kolumner med CSS.
Hur man skapar lika höga kolumner
När dina kolumner ska visas i rad, vill du ofta att de har samma höjd (matchar den högsta höjden).
Problemet:
Önskan:
Steg 1 - Lägg till HTML:
<div class="col-container"> <div class="col"> <h2>Kolumn 1</h2> <p>Hej Världen</p> </div> <div class="col"> <h2>Kolumn 2</h2> <p>Hej Världen!</p> <p>Hej Världen!</p> <p>Hej Världen!</p> <p>Hej Världen!</p> </div> <div class="col"> <h2>Kolumn 3</h2> <p>Andra texter...</p> <p>Andra texter...</p> </div> </div>
Steg 2 - Lägg till CSS:
.col-container { display: table; /* Låt kontainer-elementen uppträda som en tabell */ width: 100%; /* Sätt till full bredd för att utöka hela sidan */ } .col { display: table-cell; /* Låt elementen inom kontaineren uppträda som tabellceller */ }
Responsiv lika höjd
Kolumnerna som vi skapade i föregående exempel är responsiva (om du justerar storleken på webbläsarfönstret kommer du att se att de automatiskt justeras till den önskade bredden och höjden). Men, för små skärmar (som smartphones), kanske du vill att de ska staplas vertikalt istället för att ligga horisontellt bredvid varandra:
På medelstora och stora skärmar:
Hej Världen.
Hej Världen.
Hej Världen.
Hej Världen.
Hej Världen.
På små skärmar:
Hej Världen.
Hej Världen.
Hej Världen.
Hej Världen.
Hej Världen.
För att uppnå detta, lägg till en mediamätare och specificera en brytpunkt i pixlar:
Exempel
/* Om browserfönstret är mindre än 600px, låt kolonnerna staplas */ @media only screen and (max-width: 600px) { .col { display: block; width: 100%; } }
Uppnå lika höjd och bredd med Flexbox
Du kan också använda Flexbox för att skapa lika höga rutor:
Exempel
.col-container { display: flex; width: 100%; } .col { flex: 1; padding: 16px; }
Observera:Internet Explorer 10 och tidigare versioner stöder inte Flexbox.
Relaterade sidor
Tutorial:CSS Flexbox
- Föregående sida Klistrande element
- Nästa sida Rensa flöden