在使用bootstrap时避免不了使用了float等布局,这个时候下面元素可通过添加.clearfix类,快速轻松地清除容器内浮动的内容(使元素换行呈现)。把clearfix 添加到父元素上就可以实现目的。例如:
<div class="float-right"></div>
<div class="clearfix"><span>我的内容!</span></div>
其内部定义如下:
@mixin clearfix() {
&::after {
display: block;
content: "";
clear: both;
}
}
.element {
@include clearfix;
}
特此记录学习bootstrap的过程。
原理说明
clearfix 通过给父元素添加伪元素并设置 clear: both,让父元素能"包裹住"内部浮动子元素,避免后续元素被影响。
- Bootstrap 4 中给父容器加 class="clearfix" 即可。
- 其内部实现即 ::after { display:block; content:""; clear:both; }。
- 现代布局更推荐 flex 或 grid,可从根源上避免浮动带来的高度塌陷。