HTMLコーディングに欠かせないclearfixですが、気付けばHTML各所にclearfixの記述が多くなることがあります。
Sassのextendを使って個別にclearfixを記述することから卒業しましょう。
CSS(Sass)
.clearfix { @include clearfix; } .box { @extend .clearfix; width: 500px; margin: 20px auto; }
これでCSSは下記のように出力されます。
.clearfix, .box { *zoom: 1; } .clearfix:before, .box:before, .clearfix:after, .box:after { display: table; content: ""; line-height: 0; } .clearfix:after, .box:after { clear: both; } .box { width: 500px; margin: 20px auto; }
「.box」の側にclearfixのプロパティが付与されるわけではなく、clearfixを定義するセレクタに「.box」が加えられます。
「.box」単体でclearfixされるので、CSSでfloatをかけているのにHTML側で「ここはclearfixしなくちゃ」みたいに考える必要が無くなり、CSSだけでfloatの解除も完結させることができます。