脱标:脱离标准流
当某一个元素浮动之后,那么这个元素看上去就像被从标准流中删除了一样,这个就是浮动元素的脱标
2、浮动元素脱标之后会有什么影响?
如果前面一个元素浮动了,而后面一个元素没有浮动,那么这个时候前面一个元素就会盖住后面一个元素
3、浮动元素排序规则
3.1相同方向上的浮动元素,先浮动的元素会显示在前面,后浮动的元素会显示在后面
3.2不同方向上的浮动元素,左浮动会找左浮动,右浮动会找右浮动.
3.3浮动元素浮动之后的位置,由浮动元素浮动之前在标准流中的位置来确定
3.4如果第一个元素是左浮动第二个元素是不浮动第三个元素是右浮动,那么第三个元素的右浮动会另起一行浮动,会在第二行的右边右浮动以此类推(个人实验出来的结果)
4、浮动元素贴靠现象
4.1如果父元素的宽度能够显示所有浮动元素那么浮动的元素会并排显示
4.2如果父元素的宽度不能够显示所有浮动元素,那么会从最后一个元素开始往前贴靠
4.3如果贴靠了前面所有浮动元素之后都不能显示,最终会贴靠到父元素的左边或者右边
CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。
另一方面,CSS1 中首次提出了浮动,它以 Netscape 在 Web 发展初期增加的一个功能为基础。浮动不完全是定位,不过,它当然也不是正常流布局。
1、浮动元素会完全脱离文档流,不再占据文档流中的位置2、设置浮动以后元素会向父元素的左侧或右侧移动,
3、浮动元素默认不会从父元素中移出
4、浮动元素向左或向右移动时,不会超过它前边的其他浮动元素
5、如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移
6、浮动元素不会超过它上边的浮动的兄弟元素,最多最多就是和它一样高
在浮动布局中,父元素的高度默认是被子元素撑开的,当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离, 将会无法撑起父元素的高度,导致父元素的高度丢失。
父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱,所以高度塌陷是浮动布局中比较常见的一个问题,这个问题我们必须要进行处理!
思想:在父元素的后面加内容,内容利用clear清除浮动元素带来的影响