900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > CSS Flex布局 (弹性布局)(圣杯布局)

CSS Flex布局 (弹性布局)(圣杯布局)

时间:2021-03-19 18:58:43

相关推荐

CSS Flex布局 (弹性布局)(圣杯布局)

目录

Flex布局(弹性布局)的特点

Flex布局模型构成

组成部分

主轴对齐方式

修改主轴方向

弹性盒子换行

侧轴对齐方式

子盒子水平垂直居中:

使用flex属性修改弹性盒子伸缩比

通过flex实现圣杯布局

小结

Flex布局(弹性布局)的特点

1.浏览器提倡的布局模型,页面渲染性很高。

2.布局简单,方便。

3.可以避免浮动脱标的问题。

4.兼容性高(不兼容低版本的浏览器)

Flex布局模型构成

设置方式:

给父元素设置display:flex,子元素可以自动的挤压或拉伸;

组成部分

1.弹性容器(父级,添加了display:flex的盒子)

2.弹性盒子(子级)

3.主轴(默认水平)

4.侧轴 / 交叉轴(默认垂直)

主轴对齐方式

justify-content(添加到弹性容器-父级里):

修改主轴方向

flex-direction:

主轴默认是水平方向(x轴)

侧轴默认是垂直方向 (y轴)

弹性盒子换行

flex-wrap:

wrap-reverse的效果:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div class="main"><div>son1</div><div>son2</div><div>son3</div><div>son4</div><div>son5</div><div>son6</div></div></body></html>

<style>.main {width: 200px;height: 200px;border: 1px solid #c3c3c3;display: flex;flex-wrap: wrap-reverse;}.main div {width: 50px;height: 50px;background-color: red;}.main div:nth-child(odd) {background-color: pink;}</style>

侧轴对齐方式

修改侧轴对齐方式属性:

align-items(添加到弹性容器-父级 控制所有弹性盒子)

align-self: 控制某个弹性盒子在侧轴的对齐方式(添加到弹性盒子-子级 控制某个弹性盒子):

侧轴多行对齐方式:

align-content: 属性和justify-content差不多可以借鉴上面主轴对齐方式

子盒子水平垂直居中:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div class="box"><div class="son"></div></div></body></html>

<style>.box {display: flex;justify-content: center;align-items: center;width: 150px;height: 150px;margin: 100px auto;background-color: pink;}.son {width: 50px;height: 50px;background-color: purple;}</style>

使用flex属性修改弹性盒子伸缩比

注意事项:

1.只占用父盒子剩余的尺寸

2.是给子盒子添加这个属性

属性:flex:值;(取值要是整数,占用父级剩余尺寸的份数)

通过flex实现圣杯布局

圣杯布局就是左右两边大小固定不变,中间宽度自适应。

核心就是左右两边设置固定大小的盒子,中间盒子flex:1让中间的盒子自适应沾满剩余的空间。

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div class="top"><div></div><div></div><div></div></div></body></html>

<style>.top {display: flex;}.top div {width: 50px;height: 50px;background-color: red;}/* 圣杯布局(中间自适应 两杯固定) */.top div:nth-child(2) {flex: 1;background-color: pink;}</style>

小结

1. 在flex中,标签不用再分类了

没有块级元素,行内元素和行内块元素。任何一个元素都可以直接给高度和宽度一行显示。

2.flex不存在脱标的问题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。