本文摘自PHP中文网,作者不言,侵删。
在网格布局(Grid Layout)中,你可以将网格的宽度指定为显示区域或整个页面的宽度的比例,但如果将网格的宽度指定为比例,则需要使用fr为单位,下面我们来看具体的内容。
我们话不多说,直接来看具体的例子
代码如下:
编写以下HTML文件
SimpleGridFr.css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | .Container {
display : grid;
grid-template-columns: 1 fr 1 fr 1 fr 1 fr 1 fr;
grid-template-rows: 120px 120px ;
border : solid #ff6a00 1px ;
}
.GridItem 1 {
grid-column: 1 / 2 ;
grid-row: 1 / 2 ;
background-color : #ff9c9c ;
}
.GridItem 2 {
grid-column: 2 / 3 ;
grid-row: 1 / 2 ;
background-color : #ffcb70 ;
}
.GridItem 3 {
grid-column: 3 / 4 ;
grid-row: 1 / 2 ;
background-color : #fffd70 ;
}
.GridItem 4 {
grid-column: 4 / 5 ;
grid-row: 1 / 2 ;
background-color : #b0ff70 ;
}
.GridItem 5 {
grid-column: 5 / 6 ;
grid-row: 1 / 2 ;
background-color : #7ee68d ;
}
.GridItem 6 {
grid-column: 1 / 2 ;
grid-row: 2 / 3 ;
background-color : #7ee6e2 ;
}
.GridItem 7 {
grid-column: 2 / 3 ;
grid-row: 2 / 3 ;
background-color : #95a7f5
}
.GridItem 8 {
grid-column: 3 / 4 ;
grid-row: 2 / 3 ;
background-color : #d095f5 ;
}
.GridItem 9 {
grid-column: 4 / 5 ;
grid-row: 2 / 3 ;
background-color : #f5aee4 ;
}
.GridItem 10 {
grid-column: 5 / 6 ;
grid-row: 2 / 3 ;
background-color : #edc3a4 ;
}
|
SimpleGridFr.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" />
< title ></ title >
< link rel = "stylesheet" href = "SimpleGridFr.css" />
</ head >
< body >
< div class = "Container" >
< div class = "GridItem1" >?目1</ div >
< div class = "GridItem2" >?目2</ div >
< div class = "GridItem3" >?目3</ div >
< div class = "GridItem4" >?目4</ div >
< div class = "GridItem5" >?目5</ div >
< div class = "GridItem6" >?目6</ div >
< div class = "GridItem7" >?目7</ div >
< div class = "GridItem8" >?目8</ div >
< div class = "GridItem9" >?目9</ div >
< div class = "GridItem10" >?目10</ div >
</ div >
</ body >
</ html >
|
说明:
在此示例中,Container类的CSS描述如下所示。我们将网格列(水平方向)设置为5列,将行(垂直方向)设置为2行。
grid-template-columns的值设置为1fr,并且通过该设置,网格的宽度按比率显示。在该示例中,由于存在五个1fr的设置,因此1fr的宽度显示为显示区域(整个页面)的宽度的1/5。
1 2 3 4 5 6 | .Container {
display : grid;
grid-template-columns: 1 fr 1 fr 1 fr 1 fr 1 fr;
grid-template-rows: 120px 120px ;
border : solid #ff6a00 1px ;
}
|
将HTML页面的“GridItem 1”?“Griditem 10”的div框分配给网格的每个单元格。
显示结果
运行上面的HTML页面。将显示如下所示的效果。五个网格的宽度以相等的间隔显示。

缩小窗口宽度就减小了每个网格的单元框架的宽度。

再缩小窗口,每个网格的单元框架的宽度仍然继续缩小

最后,我们来更改以下代码中的一些值看看会发生什么情况
确认在grid-tempat-COumns属性中指定了1 fr以外的值时,将Continer类的设置更改为以下内容。
在下面的描述中,第一列,第三列,第五列为1 fr,第二列为3fr,第四列为2fr。因为整体的合计是8 fr,所以1、3、5列的单元格的宽度是显示区域(窗口宽度)的8分之一的宽度。同样的第二列是8分之3的宽度,第四列是4分之一(8分之2)的宽度。
1 2 3 4 5 6 | .Container {
display : grid;
grid-template-columns: 1 fr 3 fr 1 fr 2 fr 1 fr;
grid-template-rows: 120px 120px ;
border : solid #ff6a00 1px ;
}
|
显示已更改的HTML页面。将显示如下所示的效果。

缩小窗口宽度。随着窗口的宽度的缩小网格的宽度也会缩小。宽度减小,同时保持网格单元宽度比。

以上就是网格布局中以区域和页面整体的宽度的比率指定网格的宽度的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
在网格布局中创建多个网格的单元格(组合单元格)的方法介绍
网格布局中以区域和页面整体的宽度的比率指定网格的宽度
浅谈css3 grid网格布局(display: grid)的用法
css网格布局(grid)的常用属性介绍
更多相关阅读请进入《网格布局》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 网格布局中以区域和页面整体的宽度的比率指定网格的宽度