CSS Grid vs Flexbox vs Bootstrap

bootstrap在flexbox和grid之前。
CSS Grid
设置网格display,和网格个数与宽度间距


但是直接设置px的话不能适应不同的窗口大小。所以调整成百分比更合适

或者可以以fr为单位设置


同时也可以设置行宽,如果不设置的话默认为1fr。


把每一列都写出来实际太麻烦了,可以用repeat



这样是根据窗口的大小任意变换列数。

当小于200px 就只有一列
auto的作用是自动为内容缩小或者扩张
加了auto是这样的


如果不加的话,宽度不会适应变化

内容的对齐


单个网格的调节


单个网格的内容对齐
和整个内容的对齐类似


CSS搭建网页布局练习

Nav
首先把navigation的内容加在header里面。最后的Contact在右边所以单独加一个class


对列表进行样式设置。
主要的有,将nav设为弹性盒子。除去列表点,设置字体大小,并把边界设为0。
然后实际出来字都是挨在一起的,所以给他们设一个padding
最后去除a标签中下划线

成了这个样子

可以看见几个内容之间还有一些空白,并且是在一行之中的。
在zone里去除padding和margin,以及取消inline-block

因为nav是弹性盒子,其他的也相应对齐,但是边界还有空白

检查出来是body里面还有margin


然后要调整Contact的位置



新的问题是窗口缩小,文字会溢出
此刻将使用media query
设置当宽度小于600px时 nav需要作出以下修改

Cover
cover 这一块 设置一下新class container。并且也设为弹性盒子。因为cover内容居中所以,align-items 和justify-content都设置一下
cover的行高可以用viewport height,这样是占视图的比例


Project Grid + Footer
Project grid设置grid-wrapper的网格,用自动填充,当小于350px时,仅显示一个1fr。
网格之间间距为20px


box下面图片设置为百分百填满内容

每个box背景有一定margin,而图片也不是填满整个背景,所以有padding

footer本身就在最下面,主要是让其文字居中


美化整个网页
素材网站:https://undraw.co/illustrations
首先给cover添加一副图片,图片分类为cover

然后css之中
调整图片和cover区域的大小


第二,滚动的时候我们希望nav固定
加一个sticky分类

把位置固定 置顶 宽度100%

第三 给project grid中做一些动画效果

相当于鼠标移上去,每个盒子都会有倾斜效果
CSS布局比较:Grid、Flexbox与Bootstrap实战解析
6891

被折叠的 条评论
为什么被折叠?



