CSS grid-template-columns属性探讨|给你代码
CSSgrid布局
CSS grid布局是一种很强大的布局,兼容性如上表所示,表现在控制台里,你可以清楚看到他的内部每一个块都由一个虚线方块组成。他的每行每列都会生产一个单元格,而划分他们之间的线称为网格线。我这次就主要讲述其中两个属性。
内容
1.grid-template-columns(rows), 他可以的定义网格列或者行的维度大小,在属性数值上,除了比较常用的属性,还支持fr,flex弹性系数,可以根据该数值比例来分配剩余空间。还有[xx]在属性数值里定义网格线的名称,方便以后再次引用他。还有repeat属性。
如图所示的样式,是类似列表一样有很多重复的模块,就可以用到repeat属性来进行重复。
repeat(5, 250px);类似这样的属性数值。那么我就想了,如果只是这样,普通的布局也能实际,为啥要用这个repeat呢。如果我想自适应宽度变化可以吗?答案是支持的。repeat还支持auto-fill, auto-fit这2个属性能进行自动填充,配合minmax属性可以实现根据宽度进行子列表的自适应布局。如:repeat(auto-fill, minmax(100px, 1fr)); 代表了自动填充,minmanx最小值,配合flex分配空间。
关于autfo-fit,autofill的区别在mdn上有解释,但是可能难理解,直接利用mdn上2个例子。
grid-template-columns: repeat(auto-fill, minmax(10px, 1fr));
grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
可以清楚的看到,在网格不能填满一行的时候,auto-fit会尽可能的让元素去填满他,也就是说剩余的空间会被分配到每个元素上,而auto-fill还是按照原来的布局,模拟元素可以填满一行的情况。
2.grid-gap设置网格行和列之间的间隙大小
兼容情况如下图所示:
根据mdn文档,实验中的功能gap(grid-gap)属性也被flex布局所支持。但是兼容性应该不好太好。
gap属性有什么用呢?
如上图布局,如果支持gap,那么只要之间写一个gap: 1px就可以了。不然的话,就比较繁琐了,只能利用边距去实现。
总结
css grid还有很多属性可以用来布局元素,本文仅仅只是讲到了一小点。它在现代浏览器中的支持度还是不错的,可以多多用它。如果支持的浏览器兼容性不是太好的话,只能用其他东西来代替它了。
给你代码|往期回顾:
相关文章
- Linux服务器硬件信息查询与日常运维命令总结
- Linux服务器带宽跑不满?用ethtool调优网卡参数,性能提升30%
- 如何在 Rocky Linux 中查看网卡流量?跟着小编学习iftop安装和使用
- Linux查看网卡速率_linux查看网卡当前速率
- 五一我要看七天小说!免费开源的轻量化书库talebook搭建流程。
- 我是如何用这3个小工具,助力小姐姐提升100%开发效率的
- html5和css3的常用参考网_基于html5和css3的网页制作
- 超详细的网络抓包神器 tcpdump 使用指南
- Vue 技术栈(全家桶)_vue全栈项目教程
- 学习ES6- 入门Vue(大量源代码及笔记,带你起飞)