设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

详解css3中dispaly的Grid布局与Flex布局(6)

发布时间:2020-09-24 21:35 所属栏目:52 来源:网络整理
导读:.content-box {display: grid;grid-template-columns: repeat(5, 160px);grid-template-rows: repeat(5, 160px);grid-auto-flow: row;}.box:nth-child(1) {grid-column-start: 1;grid-column-end: 4;}.box:nth-chil

.content-box { display: grid; grid-template-columns: repeat(5, 160px); grid-template-rows: repeat(5, 160px); grid-auto-flow: row; } .box:nth-child(1) { grid-column-start: 1; grid-column-end: 4; } .box:nth-child(2) { grid-column-start: 1; grid-column-end: 4; }

在上图中,1号项目后面的位置是空的,这是因为3号项目默认跟着2号项目,所以会排在2号项目后面。当我们修改设置,设为row dense,表示“先行后列”,并且尽可能精密填满,尽量不出现空格。

.content-box { display: grid; grid-template-columns: repeat(5, auto); grid-template-rows: repeat(5, auto); grid-auto-flow: row dense; /* 避免出现空格 */ } .box:nth-child(1) { grid-column-start: 1; grid-column-end: 4; } .box:nth-child(2) { grid-column-start: 1; grid-column-end: 4; }

上图会先填满第一行,再填满第二行,所以3三号项目就会紧跟在1号项目的后面。

如果将设置改为column dense,表示“先列后行”,并且尽量填满空格。

.content-box { display: grid; grid-template-columns: repeat(5, auto); grid-template-rows: repeat(5, auto); grid-auto-flow: column dense; /* 避免出现空格 */ } .box:nth-child(1) { grid-column-start: 1; grid-column-end: 4; } .box:nth-child(2) { grid-column-start: 1; grid-column-end: 4; }

justify-items属性,align-items属性

justify-items属性设置单元格内容的水平位置(左中右),align-items属性设置单元格内容的垂直位置(上中下)。

这两属性的写法完全相同,都可以使用一下属性值。

.content-box { justify-items: start | end | center | stretch; align-items: start | end | center | stretch; }

start:对齐单元格的起始边缘。

单元格的内容左对齐,效果如下图。

.content-box { display: grid; grid-template-columns: repeat(5, 160px); grid-template-rows: repeat(5, 160px); justify-items: start; /* 对齐单元格的起始边缘 */ } .box { width: 100px; height: 100px; }

单元格的内容头部对齐,效果如下图。

.content-box { display: grid; grid-template-columns: repeat(5, 160px); grid-template-rows: repeat(5, 160px); align-items: start; /* 单元格的内容头部对齐 */ } .box { width: 100px; height: 100px; }

end:对齐单元格的结束边缘。

单元格的内容结束边缘对齐,效果如下图。

.content-box { display: grid; grid-template-columns: repeat(5, 160px); grid-template-rows: repeat(5, 160px); justify-items: end; /* 单元格的内容结束边缘对齐 */ } .box { width: 100px; height: 100px; }

center:单元格内部居中。

stretch:拉伸,占满单格的整个宽度(默认值)。

place-items属性

place-items属性是align-items属性和justify-items属性的合并简写形式。

place-items: <align-items> <justify-items>;

place-items: start end

如果省略第二个值,则浏览器认为与第一个值相等。

justify-content属性,align-content属性

justify-items属性是整个内容区域在容器里面的水平位置(左中右),align-items属性是整个内容区域的垂直位置(上中下)。

这两属性的写法完全相同,都可以使用一下属性值。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读