私は CSS のサイズ設定にピクセル フォールバックで rem ユニットを使用するのが好きで、それを支援する mixin を作成しようとしています。font-size の場合、これは簡単です。
@mixin font-size($size) {
font-size: $size + px;
font-size: ($size / 10) + rem;
}
ただし、パディング、マージンなどの場合、ミックスインは可変引数を受け入れる必要があります。これは、Sass のドキュメントhttp://sass-lang.com/documentation/file.SASS_REFERENCE.html#variable_argumentsに従って可能です。
ただし、次の mixin では、10 で割る代わりに、mixin は数字の間にスラッシュを追加するだけです。つまり、これは次のとおりです。
@mixin padding($padding...) {
padding: $padding + px;
padding: ($padding / 10) + rem;
}
.class {
@include padding(24);
}
これを出力します:
.class {
padding: 24px;
padding: 24/10rem;
}
これの代わりに、私が期待するように:
.class {
padding: 24px;
padding: 2.4rem;
}
Sassが変数を数値として認識し、除算演算子を正しく使用するようにする方法はありますか?
また、これをさらにテストした後、連結は最後の変数でのみ行われることに気付きました。