ToB企服应用市场:ToB评测及商务社交产业平台
标题:
CSS Grid 布局全攻略:从基础到进阶
[打印本页]
作者:
怀念夏天
时间:
2025-1-10 03:09
标题:
CSS Grid 布局全攻略:从基础到进阶
一.Grid 是什么
CSS 中 Grid 是一种强盛的布局方式,它可以同时处理行和列
Grid 和Flex有一些类似,都是由父元素包裹子元素利用
二.示例代码
都是基于这个html代码
import less from './index.module.less'
//grid 布局
const Grid = () => {
return (
<div className={less.box}>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
)
}
export default Grid
复制代码
1. 基础利用 - 固定宽高
.box {
margin: 50px auto;
display: grid;
grid-template-rows: 100px 50px; //每行的高度
grid-template-columns: 100px 50px 50px; // 每列的宽度
width: 300px;
height: 300px;
border: 1px solid red;
}
.box div {
border: 1px solid green;
text-align: center;
}
复制代码
2.百分百宽高
.box {
margin: 50px auto;
display: grid;
grid-template-rows: 50% 50%; //每行的高度
grid-template-columns: 33% 33% 33%; // 每列的宽度
width: 300px;
height: 300px;
border: 1px solid red;
}
.box div {
border: 1px solid green;
text-align: center;
}
复制代码
3.重复设置-repeat
repeat :统一设置值,第一个参数为重复数量,第二个参数是重复值
.box {
margin: 50px auto;
display: grid;
grid-template-rows: repeat(2,30%);
grid-template-columns: repeat(2,50%);
width: 300px;
height: 300px;
border: 1px solid red;
}
.box div {
border: 1px solid green;
text-align: center;
}
复制代码
此中的第五个div没有设置高度,所以自顺应
4.单位-fr
grid 中的 fr单位和 flex布局中的 grow属性类似
.box {
margin: 50px auto;
display: grid;
grid-template-rows: 1fr 2fr;
grid-template-columns: 150px 1fr 2fr;
width: 300px;
height: 300px;
border: 1px solid red;
}
.box div {
border: 1px solid green;
text-align: center;
}
复制代码
5.自顺应
在网格布局可以利用auto属性设置用来获取剩余所有空间
.box {
margin: 50px auto;
/* width: 300px; */
height: 200px;
display: grid;
grid-template-columns: 10vw auto 20vw;
border: 1px solid #3333;
}
.box div {
padding: 20px;
background-clip: content-box;
border: 1px solid green;
text-align: center;
line-height: 160px;
}
复制代码
6.间距定义
利用gap来来定义间距
row-gap:30px:定义行间距
column-gap:10px:定义列间距
.box {
margin: 50px auto;
/* width: 300px; */
height: 200px;
display: grid;
grid-template-columns: 10vw auto 20vw;
border: 1px solid #3333;
gap: 20px 10px;
}
.box div {
padding: 20px;
background-clip: content-box;
border: 1px solid green;
text-align: center;
line-height: 160px;
}
复制代码
其他
关于grid 布局剩余后续在继续更新
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4