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

本文共 1721 字,大约阅读时间需要 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/

你可能感兴趣的文章
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+php的搭建
查看>>
nginx+tomcat+memcached
查看>>
nginx+Tomcat性能监控
查看>>
nginx+uwsgi+django
查看>>
Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>