前端CSS3布局display:grid用法
前端CSS3布局display:flex用法
1. 先附上代码
点击查看代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>display:flex</title>
<style>
.grid-box {
width: 100%;
background-color: lightseagreen;
}
.grid-box>div {
background-color: lightskyblue;
text-align: center;
border: 1px solid red;
}
</style>
</head>
<body>
<div class="grid-box">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</div>
</body>
</html>
效果图

给grid-box加上display: grid
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
}
效果图

可以看到并没有什么变化,说明grid默认纵向排列
2. 接下来详解grid布局的几个常用属性
- grid-template-columns
- grid-template-rows
- gap
- grid-template-areas
- justify-items
- align-items
1. grid-template-columns
决定网格布局中的列数(和宽度)
网格呈三列排列且每列120px
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: 120px 120px 120px;
}
效果图

简写方式
grid-template-columns: repeat(3, 120px)
也可这样设置
grid-template-columns: 120px auto 120px
两边的宽度为120px,中间的宽度自动填充
效果图

可用fr表示比例关系(fraction 的缩写,意为"片段”)
将宽度平均分成3等份
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
效果图

将宽度分成3份,每份各占1 2 3
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: 1fr 2fr 3fr;
}
效果图

单元格大小固定,但容器大小不确定,auto-fill属性就会自动填充
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: repeat(auto-fill, 170px);
}
效果图

minmax()函数产生一个长度范围,接受两个参数,分别为最小值和最大值
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: 1fr minmax(150px, 300px);
}
效果图

第二列的最小宽度为150px,最大宽度为300px
2. grid-template-rows
规定网格布局中行的高度
前三行每行高120px
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-rows: 120px 120px 120px;
}
效果图

简写方式
grid-template-rows: repeat(3, 120px)
也可这样设置
grid-template-rows: 120px auto 120px
第一行高度为120px,第二行的高度自动,第三行的高度为120px
效果图

可用fr表示比例关系(fraction 的缩写,意为"片段”)
将前三行的高度设置为1fr 2fr 3fr
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-rows: 1fr 2fr 3fr;
}
效果图

minmax()函数产生一个长度范围,接受两个参数,分别为最小值和最大值
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-rows: 80px minmax(150px, 300px) 120px;
}
效果图

3. gap
规定网格布局中行与列之间间隙的尺寸
上代码
点击查看代码
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 1fr 2fr 3fr;
gap: 1em;
}
效果图

还可以这样写
grid-gap: 1em 2em;
1em是行之间的间隙,2em是列之间的间隙
效果图

4. grid-template-areas
在网格布局中规定区域
上代码
点击查看代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>display:flex</title>
<style>
.item1 {
grid-area: myArea1;
}
.item5 {
grid-area: myArea5;
}
.item8 {
grid-area: myArea8;
}
.grid-box {
width: 100%;
background-color: lightseagreen;
display: grid;
grid-template-areas:
'myArea1 myArea1 . . '
'myArea5 myArea8 . . '
'myArea5 myArea8 . . ';
}
.grid-box>div {
background-color: lightskyblue;
text-align: center;
border: 1px solid red;
}
</style>
</head>
<body>
<div class="grid-box">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
<div class="item5">5</div>
<div class="item6">6</div>
<div class="item7">7</div>
<div class="item8">8</div>
</div>
</body>
</html>
效果图

myArea1 myArea1 . .表示4列,一个点表示1列
item1占1行2列(第1行的第1列和第2列)
item5占2行1列(第1列的第2行和第3行)
item8占2行1列(第2列的第2行和第3行)
4. justify-items
纵轴上的对齐方式
上代码
点击查看代码
.grid-box {
width: 100%;
height: 600px;
background-color: lightseagreen;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
效果图

justify-items: flex-start;(默认值)
效果图

justify-items: center;
效果图

justify-items: flex-end;
效果图

4. align-items
横轴上的对齐方式
上代码
点击查看代码
.grid-box {
width: 100%;
height: 600px;
background-color: lightseagreen;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
效果图

align-items: flex-start;(默认值)
效果图

align-items: center;
效果图

align-items: flex-end;
效果图

前端CSS3布局display:grid用法的更多相关文章
- 前端CSS3布局display:flex用法
前端CSS3布局display:flex用法 先附上代码 点击查看代码 <!DOCTYPE html> <html> <head> <meta charset ...
- 前端页面布局之Grid布局
在讲布局前,先说两句题外话,写博时,突然想到了郭德纲说过的一个段子“说两个人骂架,不是你有理,你嗓门大,你唾沫星子崩我一脸,你就能骂赢,要看谁命长,过两年你死了,我站你坟头咋说咋是对的,你在那小匣里还 ...
- CSS3中的display:grid网格布局介绍
1.网格布局(grid): 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局; 2.基本概念: 容器和项目,如图所示: <div class="content&qu ...
- CSS3:布局display属性的flex(弹性布局)
CSS3:布局display属性的flex(弹性布局) 一.简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.设为Flex布局以后, ...
- 浅谈CSS3中display属性的Flex布局
浅谈CSS3中display属性的Flex布局 最近在学习微信小程序,在设计首页布局的时候,新认识了一种布局方式display:flex 1 .container { 2 display: fle ...
- web前端学习(三)css学习笔记部分(8)-- SVN的介绍和应用、CSS动画效果、CSS3布局属性全接触
15.SVN的介绍和应用 15.1.SVN的介绍和应用课程概要 将代码进行集中管理,有版本号的进行迭代,方便集体工作的build流程 15.2.SVN的介绍 SVN是Subversion的简称,是一个 ...
- CSS3 Flex布局和Grid布局
1 flex容器的六个属性 flex实现垂直居中: <div class="box"> <span class="item">< ...
- 前端CSS3动画animation用法
前端CSS3动画animation用法 学习如下动画属性 @keyframes animation-name animation-duration animation-delay animation- ...
- 移动平台3G手机网站前端开发布局技巧
本文转载至:移动平台3G手机网站前端开发布局技巧汇总 - 前端开发-武方博 您或许正在或准备参与一个WepApp项目,您或许正在Google搜索mobile development相 关的文章,您或许 ...
随机推荐
- 【Android开发】Android 颜色透明度换算
透明度 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff). 透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因为是从0开始,所以实际上 ...
- 底部footer挡住上面内容的bug
当设置底部footer的样式为: .footer{ position: fixed; height: 49px; bottom: 0; background: #fff; } 这样会挡住上面的内容,修 ...
- 时间篇之linux系统时间和RTC时间
一.linux系统下包含两个时间:系统时间(刚启动时读取的是rtc时间)和RTC时间. 一般情况下都会选择芯片上最高精度的定时器作为系统时间的定时基准,以避免在系统运行较长时间后出现大的时间偏移.特点 ...
- 正则表达式小技巧,sql中in的字符串处理
工作中我经常写sql,当写带in的语句时,需要敲好多单引号,逗号,敲写起来容易易出错.因此,我写了一个小工具,处理这种繁琐工作.原理简单,利用正则表达式匹配.替换. 先看界面,一个html页面,包含三 ...
- Windows原理深入学习系列-强制完整性检查
这是[信安成长计划]的第 24 篇文章 0x00 目录 0x01 介绍 0x02 逆向分析 Win10_x64_20H2 0x03 总结 0x04 参考文章 最近因为一些事情,拖更了三个周,大家见谅啊 ...
- 五分钟配置 MinGW-W64 编译工具
编译器是一个诸如 C 语言撰写的源程序一步一步走向机器世界彼岸的桥梁. Gnu 项目的 GCC 编译器是常用的编译器之一.儿在Windows 上也有 MinGW 这样可用的套件,可以让我们使用 GCC ...
- python基础练习题(题目 查找字符串。)
day39 --------------------------------------------------------------- 实例061:查找字符串 题目 查找字符串. 分析:查找字符串 ...
- 企业级 Web 开发的挑战
本文翻译自土牛Halil ibrahim Kalkan的<Mastering ABP Framework>,是系列翻译的起头,适合ABP开发人员或者想对ABP框架进行深入演进的准架构师. ...
- docker:compose实战
1.用docker-compose拉起三个容器:nginx->ghost博客平台->mysql,拉起后可以直接访问ghost博客平台 2.目录结构: ghost: data docker- ...
- Bugku CTF练习题---加密---聪明的小羊
Bugku CTF练习题---加密---聪明的小羊 flag:KEY{sad23jjdsa2} 解题步骤: 1.观察题目,发现其中的信息 2.经过题目判断,得知该题属于栅栏密码的一种,并且介绍中表明了 ...