íëĐī íŽęļ°ę° ëģíīë itemė ëđėĻėī ëę°ė ė ėëëĄ flexible grid layoutė ë§ëĪęļ° ėíī frėīëžë ëĻėëĨž ėŽėĐí ė ėëĪ.
1frė íŽęļ°ë grid containerėė 'ėŽėĐ ę°ëĨí ęģĩę°'ė ęļ°ë°ėžëĄ ęģė°ëëĪ.
ę·ļëŽëŊëĄ frė rowė ėŽėĐíęļ° ėíīėë grid containerė 'height'ëĨž ė§ė íīėž íëĪ.
<div class="grid">
<div class="header"></div>
<div class="content"></div>
<div class="nav"></div>
<div class="footer"></div>
</div>
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
}
- grid-areaëĨž ėīėĐíī cellė ėīëĶė ëķėļëĪ.
- ëĻžė , grid containerėė row(cell ėīëĶ)ëĨž ėėąíëĪ.
- ę° rowė ëėīëĨž fr ëĻėëĄ ėėąíëĪ.
- ë§ė§ë§ rowė ę° columnė ëëđë fr ëĻėëĄ ėėąíëĪ.
.grid {
display: grid;
gap: 10px;
height: 50vh; /* ðĄ grid containerė heightëĨž ė§ė íīėž íëĪ */
grid-template:
"header header header header" 1fr
"content content content nav" 2fr
"footer footer footer footer" 1fr / 1fr 1fr 1fr 1fr;
}
.header {
background-color: lightpink;
grid-area: header;
}
.content {
background-color: lightskyblue;
grid-area: content;
}
.nav {
background-color: lightseagreen;
grid-area: nav;
}
.footer {
background-color: mediumaquamarine;
grid-area: footer;
}
ííļ, grid-templateėė rowë§ëĪ ė ëĪëĄ line ėīëĶė ė§ė í ėë ėëĪ.
ė°ļęģ ëĄ grid-templateėė repeat(4, 1fr)ė ėŽėĐí ė ėëĪ.
ė ëëĪëĐī 1fr 1fr 1fr 1frëĄ ė ėīėž íëĪ.
grid-template:
[header-start] "header header header header" 1fr [header-end]
[content-start] "content content content nav" 2fr [content-end]
[footer-start] "footer footer footer footer" 1fr [footer-end] / 1fr 1fr 1fr 1fr;
ėīėēëž grid-templateė ėŽėĐíëĐī íëĐīėī ėīëĪ ëŠĻėĩėžė§ ė―ë ėėė ę·ļëĶžė ę·ļëĶŽëŊėī ėīėžęļ°í ė ėëĪ.
ėė HTML ė―ëėė grid item ėė textë§ ėķę°íīėĢžėëĪ.
<div class="grid">
<div class="header">header</div>
<div class="content">content</div>
<div class="nav">nav</div>
<div class="footer">footer</div>
</div>
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
justify-items: stretch;
}
grid containerėė ėŽėĐëë justify-itemsė ęļ°ëģļę°ė stretch
ėīëĪ.
ėīë grid itemëĪėī ėė ëĪė íŽęļ°ëĨž ëë Īė grid containerė íŽęļ°ëĨž ėąė°ëëĄ íëĪ.
ėė ėė grid containerė íŽęļ°ë heightëĨž 50vhëĄ ė§ė íęļ° ëëŽļė ëļëžė°ė íŽęļ°ė ė ë°ė íīëđíëĪ.
grid item 16ę°ëĄ ëļëžė°ė íŽęļ°ė ė ë°ė ėąė°ęļ° ėíī grid itemëĪė íŽęļ°ę° ëėīë ęēėīëĪ.
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
justify-items: center;
}
ę·ļ ėļėë justify-itemsė ę°ėžëĄë start, center, end ëąė ę°ėī ėŽ ė ėëĪ.
ëĪë§, justify-itemsė ę°ėžëĄ stretchę° ėë ëĪëĨļ ę°ė ė§ė íëëžë heightė ėíī ė§ė ë grid containerė rowė ëėīë ëģíė§ ėëëĪ.
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
align-items: center;
}
ë§ė°Žę°ė§ëĄ align-itemsė ę°ėžëĄ stretchę° ėë ëĪëĨļ ę°ė ė§ė íëëžë 1frëĄ ė§ė ë grid containerė columnė ëëđë ëģíė§ ėëëĪ.
ííļ, textëĨž ė§ėëēëĶŽëĐī ëëđė ëėīę° ėęļ° ëëŽļė ę°ë°ė ëęĩŽė element íėė 16ę°ė ęĩŽėėžëĄ ëëėīė§ ęēë§ íėļí ė ėė ëŋ ëļëžė°ė íëĐīėėë ėëŽīęēë ëģž ė ėëĪ.
text ėėī íëĐīėė grid itemė ëģīęļ° ėíīėë ę° grid itemė widthė height ę°ė ė§ė íīėž íëĪ.
place-items: align-items ę°(ėė§) justify-items ę°(ėí);
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
place-items: end center; ðĄ
}