一.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企服之家,中国第一个企服评测及商务社交产业平台。 |