最近因为面试的原因,梳理了很多之前都没有好好研究的东西。但是🙅的是每次还是能被问到各种各样我不会的问题,大概真的是学艺不精。确实每个人都有不懂的地方,但是这种老生常谈的问题,不应该成为你走的更高站的更远的绊脚石。大概会写好几篇相关的文章。
浮动作用及如何清除浮动
参考网址: http://blog.csdn.net/FE_dev/article/details/68954481 这篇文章写的真是太棒了。
参考网址: https://www.jianshu.com/p/09bd5873bed4
1.浮动
浮动元素可以脱离文档流并向左或者向右浮动,直至遇到父元素或者另一个浮动元素。
- 脱离文档
- 内联排列
- 父元素坍塌(高度为0)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18### css
.box-wrapper {
border: 5px solid red;
background-color: yellow;
}
.box-wrapper .box {
float: left;
width: 100px;
height: 100px;
margin: 20px;
background-color: green;
}
### html
<div class="box-wrapper">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
此时由于子元素脱离了文档流,导致父元素未被撑开,所以此时的背景颜色并未显示,而我们只能看到边框单独的在浏览器上方。当然此时我们并没有设置height,而是让子元素自动撑开,如果你设置了高度的话,父元素可利用本身的高度将元素包裹进去。
2.清除浮动
- clear
可以在div嵌套的最后一层加一个div并设置clear:both即可清除浮动 - clearfix
- bfc
3.浮动应用场景
- 导航条
- 文字环绕效果
- 自适应多列布局。比如下面的左侧固定宽度,右侧自适应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16### css
.left{
width: 200px;
height: 400px;
background-color: red;
float: left;
}
.right{
height: 400px;
background-color: yellow;
}
### html
<div>
<div class="left">左页面</div>
<div class="right">右页面</div>
</div>
1 | 参考网址: http://www.nenew.net/use-clearfix-to-clear-float-on-element.html |