网格布局中以区域和页面整体的宽度的比率指定网格的宽度


本文摘自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: 1fr 1fr 1fr 1fr 1fr;   

    grid-template-rows: 120px 120px;   

    border: solid #ff6a00 1px;

    }

.GridItem1 {

    grid-column: 1 / 2;   

    grid-row: 1 / 2;   

    background-color: #ff9c9c;

    }

.GridItem2 {

    grid-column: 2 / 3;   

    grid-row: 1 / 2;   

    background-color: #ffcb70;

    }

.GridItem3 {

    grid-column: 3 / 4;   

    grid-row: 1 / 2;   

    background-color: #fffd70;

    }

.GridItem4 {

    grid-column: 4 / 5;   

    grid-row: 1 / 2;   

    background-color: #b0ff70;

    }

.GridItem5 {

    grid-column: 5 / 6;   

    grid-row: 1 / 2;   

    background-color: #7ee68d;

    }

.GridItem6 {

    grid-column: 1 / 2;   

    grid-row: 2 / 3;   

    background-color: #7ee6e2;

    }

.GridItem7 {

    grid-column: 2 / 3;   

    grid-row: 2 / 3;   

    background-color: #95a7f5

    }

.GridItem8 {

    grid-column: 3 / 4;   

    grid-row: 2 / 3;   

    background-color: #d095f5;

    }

.GridItem9 {

    grid-column: 4 / 5;   

    grid-row: 2 / 3;   

    background-color: #f5aee4;

    }

.GridItem10 {

    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: 1fr 1fr 1fr 1fr 1fr;   

    grid-template-rows: 120px 120px;   

    border: solid #ff6a00 1px;

    }

将HTML页面的“GridItem 1”?“Griditem 10”的div框分配给网格的每个单元格。

显示结果

运行上面的HTML页面。将显示如下所示的效果。五个网格的宽度以相等的间隔显示。

2345截图20181129142150.png

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

2345截图20181129142317.png

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

2345截图20181129142603.png

最后,我们来更改以下代码中的一些值看看会发生什么情况

确认在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: 1fr 3fr 1fr 2fr 1fr;   

    grid-template-rows: 120px 120px;   

    border: solid #ff6a00 1px;

    }

显示已更改的HTML页面。将显示如下所示的效果。

2345截图20181129143222.png

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

2345截图20181129143500.png

以上就是网格布局中以区域和页面整体的宽度的比率指定网格的宽度的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

网格布局中创建多个网格的单元格(组合单元格)的方法介绍

网格布局中以区域和页面整体的宽度的比率指定网格的宽度

浅谈css3 grid网格布局(display: grid)的用法

css网格布局(grid)的常用属性介绍

更多相关阅读请进入《网格布局》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...