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