logó WEBFEJLESZTÉS, WEBÁRUHÁZ KÉSZÍTÉS
Ingyenes elektronikus tananyag interaktív weboldalak készítéséhez.
visszaVISSZA   
menüMENÜ   

Rugalmas oszlopszélesség



Ha vegyesen használunk abszolút és relatív méreteket könnyen előfordulhat, hogy az egyes sorok túlnyúlnak a rendelkezésre álltó területen.

A túlnyúlás elkerülhető, ha magunk számoljuk ki a rendelkezésre álló területet a calc() függvény segítségével, de így sok munkával egy áttekinthetetlen kódot kapunk.

Egy Grid konténeren belül használhatjuk a fraction-t (fr), amelynek értékét a böngésző számolja ki számunkra a rendelkezésre álló terület, a beállított margók és szegélyek figyelembevételével. Így könnyen elkerülhetjük a túlnyúlást.

A példában szereplő kód (grid-template-columns: 1fr 2fr 3fr;) alapján a böngésző a rendelkezésre álló területet összesen 6 egyenlő részre osztja. Így határozza meg az 1fr-hez tartozó szélességet. Az első oszlopunk szélessége ennek egyszerese (1fr), a másodiké kétszerese (2fr) és a harmadiké háromszorosa (1fr) lesz.


1. Példa:

Forráskód



 
<head> ... <style> ... .Elem { padding: 5px 0px; border:1px solid #066; background-color:#fff; text-align:center; } .divGrid { padding: 10px 0px; display: grid; } .columns_a { grid-template-columns: 1fr 2fr 3fr; } .columns_b { grid-template-columns: 20% 30% 50%; } .columns_c { grid-template-columns: calc(20% - 8px) calc(30% - 8px) calc(50% - 8px); } .column-gap_a { grid-column-gap: 12px; } </style> </head> <body> <p>grid-template-columns: 1fr 2fr 3fr;<br> grid-column-gap: 12px;</p> <div class="divGrid columns_a column-gap_a"> <div class="Elem">1</div> <div class="Elem">2</div> <div class="Elem">3</div> <div class="Elem">4</div> <div class="Elem">5</div> <div class="Elem">6</div> </div> <p>grid-template-columns: 20% 30% 50%;<br> grid-column-gap: 12px;</p> <div class="divGrid columns_b column-gap_a"> <div class="Elem">1</div> <div class="Elem">2</div> ... <div class="Elem">6</div> </div> <p>grid-template-columns: calc(20% - 8px)<br> calc(30% - 8px) calc(50% - 8px);<br> grid-column-gap: 12px;</p> <div class="divGrid columns_c column-gap_a"> <div class="Elem">1</div> <div class="Elem">2</div> ... <div class="Elem">6</div> </div>

Eredmény*


* Az eredmény megjelenítése az Ön által használt böngészőtől függ.
A példakód külön ablakban is megtekinthető: grid4.html


Ahogy a legtöbb honlap, ez a webhely is használ sütiket a weboldalain.