flex和margin
# 上下左右居中
在 flex 中,实现 flex 子元素上下左右居中,通常会这样做:
1 | .container { |
搭配 margin 使用,也可以实现:
1 | .container { |
# flex 子元素左右间距自适应
在多个 flex 子元素中,如果想让某个元素自适应,占满剩余空间,可以使用 flex: 1 :
1 | .container { |
但是自适应的元素,左右间距都会自动填充,如果想让子元素占满剩余空间并仅左侧或者右侧边距占满,可以使用 margin :
1 | .container { |
# 均匀间距自动换行布局
-
常见的页面中,有一种页面是很多个元素一行行排列,然后每个元素之间有一定的间距,一行多个,占满一行自动换行。
-
这种情况下,我们可以会使用 flex 布局,代码如下:
1 | .container { |
使用 space-between ,可以实现每行元素之间间距均匀分布,但是当最后一行不满一行的个数时,间距会有问题。
这时候,我们可以使用 margin 来处理,代码如下:
1 | .container { |
其中 --n 代表每一行有多少个元素, --gap 代表间距的大小,使用 calc 计算间距的大小,然后使用 margin 来设置间距。
这样,最后一行的元素就不会有间距问题了。