【CSS】7 页面布局:浮动
时间:2023-09-27 20:48:01 | 来源:网站运营
时间:2023-09-27 20:48:01 来源:网站运营
【CSS】7 页面布局:浮动:传统网页的3种布局方式:
- 普通流(标准流):标签按规定好的默认方式排列
- 浮动
- 定位
1、为什么需要浮动
浮动:很多网页布局标准流不能实现的,可以用浮动来做,因为浮动可以改变元素标签的默认排列方式i。
浮动最典型应用,可以让多个块元素一行内排列显示。
网页布局第一准则:
多个块级元素纵向排列找标准流,横向排列找浮动。
2、什么是浮动
float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘
选择器{float:属性值;}
3、浮动特性
(1)浮动元素会脱离标准(脱标)- 脱离标准流的控制(浮)移动到指定位置(动),(俗称脱标)
- 浮动的盒子不再保留原先的位置,会被其他的标准流的盒子所占有
(2)浮动的元素会一行内显示并且元素顶部对齐如果多个盒子都设置了浮动,则它们会按照属性值一行内显示并且顶端对齐排列。
注意浮动的元素相互靠在一起,没有缝隙,如果父级元素装不下这些浮动的盒子,会自动换行。
(3)浮动元素会具有行内块元素的特性任何元素添加浮动后都具有行内块元素相似的特性。
- 如果块元素没有设置宽度,默认和父级相同,添加浮动后,大小由内容决定。
- 浮动的盒子中间是没有缝隙的,紧挨着的
- 行内元素同理
4、浮动元素经常和标准流父级搭配使用
先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,符合网页布局第一准则。
- 浮动如果一个元素浮动了。理论上来讲其余的兄弟元素也要浮动。
- 浮动的盒子只会影响它后面的标准流,不会影响前面的标准流。
5、清除浮动
由于父盒子不方便给高度时,子盒子浮动不占位置,导致父盒子高度为零,会影响下面的标准流盒子。所以要清除浮动。
清除浮动的本质:- 清除浮动元素造成的影响
- 如果父元素有高度是不需要清除浮动的
- 清除浮动后,父元素会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准流了。
语法:
选择器{clear:属性值;}
实际应用中,几乎只使用clear:both;清除浮动的策略:闭合浮动,只在父盒子内部影响,不影响外面的其他盒子。
6、清除浮动的方法:
(1)额外标签法(W3C推荐)
也称隔墙法,在浮动标签末尾加一个空标签(必须是块元素)。例如
<div style="clear:both"></div>
(2)给父级添加overflowoverflow:hidden;
(3):after 伪元素:after伪元素时额外标签法的升级,也是给父元素添加
.clearfix:after{ content:""; display:block; height:0; clear:both; visibility:hidden;}.clearfix{ /*IE6、7专有*/ *zoom:1;}
- 优点:没有增加标签,结构更简单
- 缺点:要照顾一些低版本浏览器
(4)双伪元素清除浮动
也是给父级元素添加
.clearfix:before,.clearfix:after{ content:""; display:table;}.clearfix:after{ clear:both;}.clearfix{ *zoom:1;}
方法(3)(4)许多大厂都在用
应评论区小可爱的建议,添加: