登录  /  注册
首页 > web前端 > css教程 > 正文

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

不言
发布: 2018-11-29 14:41:46
原创
2694人浏览过

在网格布局(grid layout)中,你可以将网格的宽度指定为显示区域或整个页面的宽度的比例,但如果将网格的宽度指定为比例,则需要使用fr为单位,下面我们来看具体的内容。

网格布局

我们话不多说,直接来看具体的例子

代码如下:

编写以下HTML文件

SimpleGridFr.css

.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

<!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。

.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)的宽度。

.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

以上就是网格布局中以区域和页面整体的宽度的比率指定网格的宽度的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号