Grid och flex
Grid
Om du vill styra layouten på din sida mer med
passare och linjal och få saker att lägga sig
i fina boxar så kan du använda dig utav
CSS-kommandonen: display: grid;
och display: flex;. Jämfört med
kommandot float så håller sig
elementet på sin plats och kastas inte runt.
Elementet stör inte heller andra element
runtomkring.
Texten och bilden här nedanför är uppstyrda med följande CSS-kod:
#grid-exempel{
display: grid;
grid-template-columns: 25% 50% 25%;
border: solid;
border-width: 2px;
}
#exempelbild{
width: 100%;
}
Och följande html-kod:
<div class="grid-exempel">
<p>
Lorem ipsum...
</p>
<figure>
<img class="exempelbild"
src="https://www.ironmaiden.com/media/gallery/tallinn-im--55059.jpg"
alt="Bruce Dickinson slåss med Eddie."/>
</figure>
<p>
Lorem ipsum...
</p>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet nisi quis nibh pulvinar tempus. Aenean pellentesque pellentesque finibus. Praesent a neque aliquam, pulvinar tortor sed, ultricies felis. Nulla eu laoreet turpis. Aliquam porttitor justo at nisl congue elementum. Integer ullamcorper, enim quis convallis aliquet, felis est fermentum eros, ut tristique lectus tortor nec felis. Pellentesque consectetur mattis risus ac auctor. Cras nec nisi vitae tortor varius feugiat eget at nibh. Maecenas non est non mi mattis vulputate ut ut dui. Cras quis mi congue, consequat augue ut, iaculis ex. Phasellus nisi lectus, euismod vel iaculis at, scelerisque eu urna.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet nisi quis nibh pulvinar tempus. Aenean pellentesque pellentesque finibus. Praesent a neque aliquam, pulvinar tortor sed, ultricies felis. Nulla eu laoreet turpis. Aliquam porttitor justo at nisl congue elementum. Integer ullamcorper, enim quis convallis aliquet, felis est fermentum eros, ut tristique lectus tortor nec felis. Pellentesque consectetur mattis risus ac auctor. Cras nec nisi vitae tortor varius feugiat eget at nibh. Maecenas non est non mi mattis vulputate ut ut dui. Cras quis mi congue, consequat augue ut, iaculis ex. Phasellus nisi lectus, euismod vel iaculis at, scelerisque eu urna.
Två saker som är värdefulla att lägga märke till
är att border läger sig runt hela
elementet. Samt att bilden håller koll på sin
bredd i förhållande till utrymmet som uppstår.
För att få grid; att fungera
så är det två kommandon som är viktiga:
display: grid;gridär ett alternativ tillinlineochblockgrid-template-columns: aa bb cc dd ...;- Den vänstra biten berättar att vi ska styra nätets kolumner
- Den högra delen beskriver varje kolumns bredd
Slå samman kolumner eller rader
När du gör ett rutnät kan du styra vad som ska ligga i vilken kolumn med
kommandot: grid-column: XX, och i vilken rad med kommandot:
grid-row: XX;. Om du vill att ett element ska sträcka sig
över flera kolumner skriver du: grid-column: start/slut+1;.
Exempel
<div class="grid-exempel">
<p id="grid-exempel-kolumn-1a">
Lorem ipsum...
</p>
<figure id="grid-exempel-kolumn-2a">
<img class="exempelbild"
src="https://www.ironmaiden.com/media/gallery/tallinn-im--55059.jpg"
alt="Bruce Dickinson slåss med Eddie."/>
</figure>
.grid-exempel{
display: grid;
grid-template-columns: 25% 50% 25%;
border: solid;
border-width: 2px;
}
#grid-exempel-kolumn-1a{
grid-column: 1;
}
#grid-exempel-kolumn-2a{
grid-column: 2/4;
}
.exempelbild{
width: 100%;
}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet nisi quis nibh pulvinar tempus. Aenean pellentesque pellentesque finibus. Praesent a neque aliquam, pulvinar tortor sed, ultricies felis. Nulla eu laoreet turpis. Aliquam porttitor justo at nisl congue elementum. Integer ullamcorper, enim quis convallis aliquet, felis est fermentum eros, ut tristique lectus tortor nec felis. Pellentesque consectetur mattis risus ac auctor. Cras nec nisi vitae tortor varius feugiat eget at nibh. Maecenas non est non mi mattis vulputate ut ut dui. Cras quis mi congue, consequat augue ut, iaculis ex. Phasellus nisi lectus, euismod vel iaculis at, scelerisque eu urna.
<div class="grid-exempel">
<p id="grid-exempel-kolumn-1b">
Lorem ipsum...
</p>
<figure id="grid-exempel-kolumn-2b">
<img class="exempelbild"
src="https://www.ironmaiden.com/media/gallery/tallinn-im--55059.jpg"
alt="Bruce Dickinson slåss med Eddie."/>
</figure>
.grid-exempel{
display: grid;
grid-template-columns: 25% 50% 25%;
border: solid;
border-width: 2px;
}
#grid-exempel-kolumn-1b{
grid-column: 1/3;
}
#grid-exempel-kolumn-2b{
grid-column: 3;
}
.exempelbild{
width: 100%;
}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet nisi quis nibh pulvinar tempus. Aenean pellentesque pellentesque finibus. Praesent a neque aliquam, pulvinar tortor sed, ultricies felis. Nulla eu laoreet turpis. Aliquam porttitor justo at nisl congue elementum. Integer ullamcorper, enim quis convallis aliquet, felis est fermentum eros, ut tristique lectus tortor nec felis. Pellentesque consectetur mattis risus ac auctor. Cras nec nisi vitae tortor varius feugiat eget at nibh. Maecenas non est non mi mattis vulputate ut ut dui. Cras quis mi congue, consequat augue ut, iaculis ex. Phasellus nisi lectus, euismod vel iaculis at, scelerisque eu urna.