grid-template-rows հատկությունը
grid-template-rows հատկությունը սահմանում է
տողերի քանակը և լայնությունը, որոնք
տարրը կզբաղեցնի grid-ում կամ ցանցում:
Հատկության արժեքում մենք նշում ենք տողերի լայնությունը
ցանկացած չափման միավորով:
Հատկությունը նշվում է ծնող տարրում
և սահմանում է երեխա տարրերի տողերի լայնությունը:
Հատկություններում պիքսելներով արժեքներ նշելու դեպքում
տողերի չափերը կլինեն ճշգրիտ համապատասխան:
Եթե մենք նշում ենք auto բառը, ապա տողերը կլրացնեն
ամբողջ առկա տարածությունը: fr (fraction) միավորի օգտագործումը նշանակում է,
որ ամբողջ տարածությունը կբաժանվի
նույնական մասերի:
fr-ի առավելությունը նրա հարմարեցվելու ունակությունն է
տարբեր կոնտեյներների կամ էկրանի թույլատրությունների նկատմամբ,
քանի որ fr պարզապես բաժանում է դրանք նշված
քանակի ֆրակցիաների՝ առանց պիքսելներով ճշգրիտ չափի կապվածության:
Շարահյուսություն
ընտրող {
grid-template-rows: տողի լայնություն;
}
Օրինակ
Եկեք սահմանենք մեր տարրերի տողերի լայնությունը grid-ում:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: 50px 100px 50px 50px;
border: 2px solid #696989;
padding: 10px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Եկեք առաջին և երրորդ տողերի համար նշենք ֆիքսված լայնություն պիքսելներով, իսկ երկրորդ տողը թող ինքնաբերաբար լրացնի առկա տարածությունը:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#parent {
display: grid;
grid-template-rows: 100px auto 60px;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Այժմ grid-template-rows հատկության միջոցով
անենք այնպես, որ առաջին և երկրորդ
տողերը զբաղեցնեն կոնտեյների մեկ մասը,
իսկ երրորդ տողը՝ երեք մասը:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#parent {
display: grid;
grid-template-rows: 1fr 1fr 3fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
fr միավորներով նշված արժեքները
կարող են ընդունել կոտորակային տեսք: Եկեք
փոխենք նախորդ օրինակը՝ նշելով
երկրորդ և երրորդ տողերի լայնությունը
կոտորակային թվերով:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#parent {
display: grid;
grid-template-rows: 1fr 0.5fr 2.5fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Եկեք grid-template-rows հատկությունում
նշենք repeat() ֆունկցիան,
որը կհաղորդի կոնտեյներին, որ բոլոր
երեք տողերը պետք է ունենան նույն լայնությունը:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(3, 1fr);
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Այժմ եկեք փոխենք նախորդ օրինակը այնպես, որ երեք նույնական տողերին ավելանա չորրորդը, որը կզբաղեցնի երկու ֆրակցիա կոնտեյներից:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(3, 1fr) 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Եկեք առաջին երկու տողերի համար սահմանենք մեկ ֆրակցիայի լայնություն կոնտեյներից, իսկ վերջին երկու տողերի համար՝ երկու ֆրակցիա:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(2, 1fr) repeat(2, 2fr);
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Այժմ եկեք սահմանենք տողերի լայնությունը
համադրելով repeat() ֆունկցիայի և ազատ fr միավորների միջոցով նշված արժեքները:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(2, 1fr) 3fr repeat(2, 2fr);
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 300px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Նաև repeat() ֆունկցիայում կարելի է նշել
auto-fill արժեքը, որը կլրացնի
մեր կոնտեյները նույնական տողերով մեզ անհրաժեշտ լայնության:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(auto-fill, 50px);
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Շատ հարմար է auto-fill-ի հետ միասին
նշել minmax ֆունկցիան,
որը սահմանում է տողերի լայնության տիրույթը
նվազագույնից մինչև առավելագույն արժեքը:
Եթե կոնտեյների լայնությունը չի տեղավորում բոլոր
տողերը, ապա դրանցից որոշները կտեղափոխվեն
նոր տող, ընդ որում տողի տողերը
հավասարաչափ կբաշխվեն դրանում: Եկեք փոխենք
նախորդ օրինակը՝ դրանում նշելով minmax ֆունկցիան:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(auto-fill, minmax(50px, 1fr));
border: 2px solid #696989;
padding: 10px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Այժմ եկեք նշենք auto-fit հատկությունը,
որի տարբերությունը auto-fill-ից կայանում է նրանում,
որ այն հարմարեցնում է տողերի քանակը
կոնտեյների առկա լայնությանը՝ ընդլայնելով կամ
սեղմելով դրանք:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: repeat(auto-fit, minmax(100px, 1fr));
border: 2px solid #696989;
padding: 10px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Նաև fr-ի կողքին կարելի է
օգտագործել արժեքներ %-ով, որոնք նույնպես սահմանում են
կոնտեյների որ մասը կզբաղեցնի տողը:
Ընդ որում, նախ կհաշվարկվի տողի չափը
%-ով, իսկ մնացած ազատ տարածությունը
կբաժանվի ֆրակցիաների:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-rows: 50% 1fr 2fr 30%;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Օրինակ
Եկեք օգտագործենք միասին
grid-template-columns և
grid-template-rows հատկությունները:
<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;
}
:
Օրինակ
Եկեք grid-template-columns և
grid-template-rows հատկությունների միջոցով
ստեղծենք ինը բջիջներից բաղկացած աղյուսակ, տեղակայված
երեք տողերում: Ընդ որում, երկրորդ և երրորդ տողերը կունենան նույն լայնությունը,
իսկ յուրաքանչյուր սյունակ՝ տարբեր լայնություն:
<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;
}
:
Օրինակ
Այժմ նախորդ օրինակի աղյուսակում անենք այնպես, որ վերևի տողը լինի երկու ֆրակցիայի լայնությամբ, իսկ առաջին սյունակը՝ կես ֆրակցիայի:
<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;
}
:
Տես նաև
-
grid-template-columnsհատկությունը,
որը սահմանում է սյուների քանակը և լայնությունը grid-ում -
grid-auto-rowsհատկությունը,
որը սահմանում է տողերի քանակը և լայնությունը անուղղակի grid-ում