清除浮动的4种方式
程序员文章站
2022-05-28 14:13:29
浮动:让多个块元素可以在一行显示 让多个div放一行 问题:浮动是脱标的,因此会影响别的盒子 ,不在保留原来位置。 清除浮动的本质: 解决父级元素内高为0的问题(子级浮动后),让父级占位子。 相对于定位,在应用的时候,子绝父相,父级元素保留位置,故虽同脱标但无上述问题 清除浮动的方法: 1. 额外标 ......
浮动:让多个块元素可以在一行显示 让多个div放一行
问题:浮动是脱标的,因此会影响别的盒子 ,不在保留原来位置。
清除浮动的本质: 解决父级元素内高为0的问题(子级浮动后),让父级占位子。
相对于定位,在应用的时候,子绝父相,父级元素保留位置,故虽同脱标但无上述问题
清除浮动的方法:
1. 额外标签法:最后一个浮动标签后,加空盒子
1 <div class="clear"></div> <!-- 最后一个浮动标签后,新添加一个标签 清除浮动 -->
2. 给父级加overflow:hidden属性
1 .father { 2 border: 1px solid red; 3 width: 300px; 4 overflow: hidden; /*别加错位置了,给父亲加*/ 5 /*不是所有的浮动我们都需要清除 ,谁影响布局,我们清除谁*/ 6 }
3. 用after伪元素 clearfix:after
.clearfix:after { /*正常浏览器 清除浮动*/ content:""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { *zoom: 1; /*zoom 1 就是ie6 清除浮动方式 * ie7一下的版本所识别*/ }
4. 用after和before 双伪元素 clearfix:after clearfix:before
.clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1;
上一篇: 在 Vue 中使用 Typescript