博客
关于我
2-7 CSS布局3-Grid布局
阅读量:184 次
发布时间:2019-02-28

本文共 1669 字,大约阅读时间需要 5 分钟。

Flex与Grid布局基础入门

Flexbox和Grid是现代CSS布局系统的核心技术,能够帮助开发者高效地创建响应式布局。Flex(Flexbox)适用于一维布局,而Grid(Grid)适用于二维布局。以下将从基础概念到实际应用详细说明这两种布局方式。

1. 容器(Container)

容器是布局的基础,通常使用display: griddisplay: flex来启用布局功能。以下是使用Grid布局的示例代码:

.container {  display: grid;  grid-template-columns: 40px 50px auto 50px 40px;  grid-template-rows: 60px 300px 100px;}

此外,也可以通过份数划分实现平均布局:

.container {  display: grid;  grid-template-columns: 1fr 2fr 1fr;  grid-template-rows: 1fr 1fr;}

2. 项目(Item)

项目可以通过指定行和列的范围来定义。以下是使用grid-row-startgrid-column-start的示例:

.a {  grid-row-start: 1;  grid-row-end: 2;  grid-column-start: 1;  grid-column-end: 6;}

3. 平均布局

以下是一个典型的平均布局示例,适用于图片或卡片布局:

.container {  display: grid;  grid-template-columns: repeat(4, 1fr);  grid-template-rows: repeat(2, 1fr);  width: 800px;  border: 1px solid red;  grid-gap: 12px;}.image {  width: 191px;  height: 191px;  background: grey;}

4. 高级技巧:Grid-Template-Areas

Grid-Template-Areas是Grid布局的高级功能,可以通过文字定义布局区域。以下是一个常见的页面框架布局示例:

.container {  min-height: 100vh;  display: grid;  grid-template-rows: 60px auto 60px;  grid-template-columns: 100px auto 100px;  grid-template-areas:    "header header header"    "aside main ad"    "footer . footer";}

5. 间隙(Gap)

间隙用于控制布局之间的空隙。以下是设置竖直和水平间隙的示例:

.container {  grid-column-gap: 10px;  grid-row-gap: 10px;}

案例:不规则布局

以下是一个复杂布局的示例,展示了Flex和Grid的实际应用:

.demo {  display: inline-grid;  border: 1px solid red;  grid-template-rows: 240px repeat(4, 120px);  grid-template-columns: 250px 250px;  grid-template-areas:    "big mid1"    "big mid2"    "sm1 mid2"    "sm2 mid3"    "sm3 mid3";}.image {  grid-area: inherit;  border: 1px solid red;}

通过合理搭建Grid布局框架,可以轻松实现复杂的页面布局设计。无论是导航栏、侧边栏,还是主内容区域,都可以通过Grid布局实现精确的控制。

转载地址:http://xfvi.baihongyu.com/

你可能感兴趣的文章
Python变量/运算符/函数/模块/string
查看>>
python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
查看>>
python系列【仅供参考】:python flask框架 debug功能
查看>>
python发送notes邮件_使用python在Lotus Notes中发送邮件
查看>>
Python双版本下创建一个Scrapy(西瓜皮)项目
查看>>
Python双版本下No module named 'requests'
查看>>
python及pycharm2018软件安装教程
查看>>
python去重txt文本_Python实现的txt文件去重功能示例
查看>>
python去掉列表的逗号,从Python列表项中删除标点符号
查看>>
Python卸载所有包
查看>>
python单线程下实现多个socket并发
查看>>
Python单元测试框架介绍(超详细~)
查看>>
Python单元测试框架
查看>>
python单元测试之unittest
查看>>
Python单元测试unittest实战
查看>>
Python单元测试-模拟VS补丁
查看>>
python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python十进制&;包提供错误的结果
查看>>
Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
查看>>
Python加速运行技巧
查看>>