213 of 313 menu

grid-template-columns Özelliği

grid-template-columns özelliği, bir grid öğesinin kaplayacağı sütunların sayısını ve genişliğini belirler. Bu özellik ebeveyn öğede belirtilir ve alt öğelerin sütun genişliklerini tanımlar. Özelliğin değeri olarak sütun genişliklerini herhangi bir boyut biriminde belirtebiliriz.

Özelliklerde piksel cinsinden değerler belirtirsek sütun boyutları tam olarak buna karşılık gelecektir. auto kelimesini belirtirsek, sütunlar tüm mevcut alanı dolduracaktır. fr (fraksiyon) biriminin kullanımı, tüm alanın eşit parçalara bölüneceği anlamına gelir. fr biriminin avantajı, farklı konteynerlere veya ekran çözünürlüklerine uyum sağlayabilmesidir, çünkü fr, piksel cinsinden kesin bir boyuta bağlı kalmadan belirtilen fraksiyon sayısına göre böler.

Sözdizimi

seçici { grid-template-columns: sütun genişliği; }

Örnek

Grid'deki öğelerimiz için sütun genişliklerini belirleyelim:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: 50px 100px 200px 50px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Birinci ve üçüncü sütunlara piksel cinsinden sabit genişlik verelim, ikinci sütun ise mevcut alanı otomatik olarak doldursun:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 100px auto 150px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Şimdi grid-template-columns özelliğini kullanarak birinci ve ikinci sütunların konteynerin bir kısmını, üçüncü sütunun ise üç kısmını kaplamasını sağlayalım:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 1fr 1fr 3fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

fr biriminde belirtilen değerler kesirli olabilir. Önceki örneği değiştirerek ikinci ve üçüncü sütunun genişliğini kesirli sayılarla belirtelim:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: 1fr 0.5fr 2.5fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

grid-template-columns özelliğinde repeat() fonksiyonunu kullanalım, bu fonksiyon konteynere üç sütunun da aynı genişliğe sahip olması gerektiğini bildirir:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-columns: repeat(3, 1fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Şimdi önceki örneği, üç eşit sütuna konteynerin iki fraksiyonunu kaplayacak dördüncü bir sütun ekleyecek şekilde değiştirelim:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(3, 1fr) 2fr; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

İlk iki sütuna konteynerin bir fraksiyonu genişlik verelim, son iki sütuna ise iki fraksiyon genişlik verelim:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(2, 1fr) repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Şimdi sütun genişliklerini repeat() fonksiyonu ve serbest fr birimlerini birleştirerek belirleyelim:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> #parent { display: grid; grid-template-columns: repeat(2, 1fr) 3fr repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Ayrıca repeat() fonksiyonunda auto-fill değeri kullanılabilir, bu değer konteynerimizi istediğimiz genişlikte aynı sütunlarla dolduracaktır:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fill, 200px); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

auto-fill ile birlikte minmax fonksiyonunu kullanmak oldukça kullanışlıdır, bu fonksiyon sütun genişlikleri için minimum ve maksimum değer aralığı belirler. Konteyner genişliği tüm sütunları sığdırmazsa, bazıları yeni bir satıra taşınır, bu arada satırdaki sütunlar satır içinde eşit şekilde dağılır. Önceki örneği, içinde minmax fonksiyonunu belirterek değiştirelim. Sütun yerleşiminin farklı varyasyonlarını görmek için tarayıcınızın sayfa genişliğini değiştirin:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Şimdi auto-fit özelliğini belirtelim, auto-fill'den farkı, sütun sayısını mevcut konteyner genişliğine uyarlayarak onları genişletmesi veya daraltmasıdır:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Ayrıca fr birimiyle birlikte % cinsinden değerler de kullanılabilir, bu değerler de sütunun konteynerin hangi kısmını kaplayacağını belirler. Bu durumda önce % cinsinden sütun boyutu hesaplanır, kalan boş alan ise fraksiyonlara bölünür:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-columns: 50% 1fr 2fr 30%; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

grid-template-columns ve grid-template-rows özelliklerini birlikte kullanalım:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

grid-template-columns ve grid-template-rows özelliklerini kullanarak üç sırada yer alan dokuz hücreli bir tablo oluşturalım. İkinci ve üçüncü sıralar aynı genişliğe sahip olacak, her sütun ise farklı genişlikte olacak:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 60px 1fr 60px; grid-template-columns: 20% 1fr 15%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Örnek

Şimdi önceki örnekteki tabloda üst sırayı iki fraksiyon genişliğinde, ilk sütunu ise yarım fraksiyon genişliğinde yapalım:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 2fr 1fr 1fr; grid-template-columns: 0.5fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Ayrıca Bakınız

  • grid-template-rows özelliği,
    grid'de satır sayısını ve genişliğini belirler
  • grid-auto-columns özelliği,
    örtük grid'de sütun sayısını ve genişliğini belirler
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet