前端面试题总结【20】:浮动元素引起的问题和解决办法?
2020-06-13 本文已影响0人
前端老司机
浮动元素引起的问题:
- 父元素的高度无法被撑开,影响与父元素同级的元素
- 与浮动元素同级的非浮动元素会跟随其后
- 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构
解决方法:
使用 CSS
中的 clear:both
; 属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix
样式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;} /* for IE/Mac */
清除浮动的几种方法:
- 额外标签法,
<div style="clear:both;"></div>
(缺点:不过这个办法会增加额外的标签使HTML
结构看起来不够简洁。) - 使用
after
伪元素
#parent:after{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
}
- 浮动外部元素
- 设置
overflow
为hidden
或者auto
推荐:
- 持续更新,致力于做一个持久的搬运工!
- 下面是已经整理好的面试题PDF获取和相关进阶学习书籍资料地址,有需求戳一下
- 2020前端面试题总结合集