CSS布局|青训营笔记

130 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第2天,今日课程内容主要介绍CSS的一些知识,对于我个人而言,可能最麻烦的就是页面布局问题了,今天的笔记就当是总结一下今日所学的一些常用布局,由于flex布局我平时项目经常用,所以比较熟悉,这里只记录几个其他平时没怎么用过的布局。

一、网格布局

1.容器属性

1.1 display属性

div {
  display: grid;
}

同时也可以设置成行内元素:

div {
  display: inline-grid;
}

1.2 grid-template-columns , grid-template-rows

.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
}

这两个属性可以定义网格的列宽和行高。同时也支持百分比写法,这里不做展示。

1.3 grid-row-gap,grid-column-gap ,grid-gap

这三个属性用于定义行和列之间的距离。

.container {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
}

当然也可以用grid-gap进行缩写:

.container {
  grid-gap: 20px 20px;
}

1.4 grid-template-areas


.container {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-template-rows: 100px 100px 100px;
  grid-template-areas: 'a b c'
                       'd e f'
                       'g h i';
}

网格布局允许指定"区域"(area),一个区域由单个或多个单元格组成。grid-template-areas属性用于定义区域。上面代码先划分出9个单元格,然后将其定名为ai的九个区域,分别对应这九个单元格。 多个单元格合并成一个区域的写法如下。


grid-template-areas: 'a a a'
                     'b b b'
                     'c c c';

由于时间有限,暂时写这么多,后面再补充

总结

此次的课程我认为最重要的就是布局问题了,写了这么多的项目,我很清楚的认识到布局的重要性,此前我一直用的是flex布局,感觉它非常的便捷,非常的方便,确实,它在绝大多数情况下解决了我很多的问题。今天的课程讲了一些其它的布局,特别是网格布局令我印象很深,老师上课所讲这是一个最强大的布局,我课后查阅了资料之后,发觉确实如此,它给了网页一个很好的规划,是整个页面能显得有条理性。之前我也接触过网格布局,但那仅仅是用的组件库里的封装好的组件,感觉组件库的组件的功能还是比较少的,在将来的项目编辑中,我会尝试使用一些新的布局,丰富页面内容。