Html5+CSS3:第三讲:弹性盒子flex

第三讲:弹性盒子flex

一.预习笔记

1.什么是弹性盒子?

使用display:flex;即可使容器变为弹性盒子,所谓弹性盒子就是在容器内的元素(一般称为项目)可以根据容器大小自动收缩。

2.弹性盒子与传统布局的比较

Html5+CSS3:第三讲:弹性盒子flex_第1张图片

3.弹性布局的特点

1)flex布局相较于传统布局(浮动、定位)更简便,但兼容性较差;

2)父元素设为flex布局后,子元素的float、clear、vertical-align属性失效;

3)应用于任何元素:块元素、行元素、行内块元素;

4)display:声明flex属性值 flex,对应块元素,即容器转化为块元素 inline-flex,对应行内元素,即容器转化为行内元素;

5)子项目中行元素可直接设置宽高,块元素宽度不继承,行内块元素没有间隔;

6)没有外边距合并问题;

7)能让页面宽度自适应,高度与字体大小自适应需要配合rem+媒体查询

4.弹性盒子的使用(容器属性)

1)display:flex;—通常设置父元素为弹性盒子

2)flex-direction—指定子元素在父元素中的排列方向

Html5+CSS3:第三讲:弹性盒子flex_第2张图片

3)justify-content —设置内容对齐方式,在父元素上设置

Html5+CSS3:第三讲:弹性盒子flex_第3张图片

4)flex-wrap—设置子元素是否换行

nowrap:不换行(默认值)
wrap:换行
wrap-reverse:换行,但是第一行在最下方

5)flex-flow—是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

6)align-items—定义子元素在交叉轴上如何对齐

flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度

5.弹性盒子的使用(项目属性–子元素属性)

1)order—定义项目的排列顺序。数值越小,排列越靠前,默认为0

2)flex-grow—定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大(平分剩余空间的)

3)flex-shrink—定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小(当空间不足时,缩小自身比例来调整界面)

4)flex-basis—定义剩余空间的处理,如果有剩余空间,那就可以改变元素的占比(宽高)

5)flex—flex属性是flex-grow, flex-shrink 和 flex-basis的合写,默认值为0 1 auto。后两个属性可选。

6)align-self—允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch

6.案例效果

Html5+CSS3:第三讲:弹性盒子flex_第4张图片

二.课堂笔记

三.课后回顾





–行动是治愈恐惧的良药,犹豫拖延将不断滋养恐惧

你可能感兴趣的:(Html5,css3,html5,css)