课程目标
- 理解为什么需要浮动
- 掌握浮动的排列特性
- 知道浮动带来的影响
- 掌握清除浮动的方式
普通流
- 块级元素:独占一行
- 行内元素:不独占一行
语法规则
选择器{ float:属性值 }
属性值:
- none:元素不浮动
- left:元素左浮动
- right:元素右浮动
浮动元素的特性
提问:大家观察一下开启了浮动的元素有什么变化?
- 1. 浮动元素会脱离标准流(脱标)
- 2. 浮动的多个元素会一行内显示并且元素顶部对齐
- 3.浮动的元素会具有行内块元素的特性
1.浮动元素会脱离标准流(脱标)
- 标准流:指的是在不使用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则
- 脱流:使用了浮动、定位相关的特殊规则脱离了标准流的控制浮动到了指定位置。
2.浮动的盒子不再保留原先的位置
3.如果多个盒子都设置了浮动,则它们会按照属性值一行内显示并且顶端对齐排列。
注意:浮动的元素是互相贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐。
4. 浮动元素会具有行内块元素特性
- 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定
- 浮动的盒子中间是没有缝隙的,是紧挨着一起的
- 行内元素同理
浮动应用
应用1:浮动和标准流的父盒子搭配使用。
应用2:让其中一个元素浮动到想要摆放的位置。
清除浮动
提问:为什么需要清除浮动?
- 1.由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为 0 时,就会影响下面的标准流盒子。
- 2.由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响
语法规则
选择器{ clear:属性值 }
属性值:
- left:清除左侧浮动的影响
- right:清除右侧浮动的影响
- both:同事清除左右两侧浮动的影响