整理grid布局


本文章直接展示网格(GRID)布局的使用场景
由于flex的流行,一个页面文件中可能有很多都是flex布局,所有实例都会与flex做一个比较。
相较于flex布局的优点(个人意见):

  • 在垂直布局上的变化
  • 从整体布局上来说,flex改变内容去适应布局,grid改变布局去适应内容

所有的HTML都以下面为实例

<ul class="container">
	<li class="item"></li>
	<li class="item"></li>
	<li class="item"></li>
	...
</ul>

1:内容呈有规律的排列。

相较于使用flex布局,得去设置每个单元格的大小
.container {
	display: grid;gap: 20px;
	grid-template-columns: repeat(2, 100px 40px 60px)
}

2:单元格内容固定,但是容器大小不固定。

相较于使用flex布局,可以去掉最右边一列右边的padding-right/marin-right
.container {
	display: grid;gap: 20px;
	grid-template-columns: repeat(auto-fill, 300px);
}

3:某一列固定,其它列不固定并按比例填充

相较于flex会少一层嵌套(先分成两列,左固定,右边再继续flex布局)
下面的代码表示把一行分成100px加上剩下的平均分成3份,1fr表示一份
.container {
	display: grid;gap: 20px;
	grid-template-columns: 100px 1fr 2fr
}

4:某一列内容为范围宽度

相较于flex,去设置min-width,差别不大,感觉就是稍微灵活一点,

.container {
	display: grid;gap: 20px;
	grid-template-columns: 1fr 1fr (100px, 1fr);
}

5:容器宽度不固定,某一个单元格占满整个宽度

这种特殊的单元格,都是控制内容的方式,比flex稍复杂(需要设置下一行也从第一个开始,而flex只需要设置当前行100%),设置当前项目和下一个项目都从第一列开始

.item_start {
	grid-column: 1;
}

6:容器宽度不固定,某一个单元格比其它的更宽

相较于flex差不多
因为需要单行显示,所以需要设置容器宽度最小值

.container {
	display: grid;gap: 20px;
	grid-template-columns: repeat(auto-fill, 300px);
	min-width: 400px;
}
.item_column_2 {
	grid-column: span 2;
}
/* 如果需要和场景5的情况合并,则这样写:*/
.item_start_column_2 {
	grid-column: 1 / span 2;
}




遇到了再继续更新,先开个头做个笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值