在使用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,可从根源上避免浮动带来的高度塌陷。