複数の引数をrtlに変換する必要があるプロパティとして扱うミックスインを作ることができるかどうか疑問に思っています。私は何かをしたい
.css-selector {
width: 300px;
height: 200px;
@include rtl {
padding: 10px 5px 3px 4px;
margin: 3px 8px 2px 5px;
}
}
ミックスインで:
$rtl = false !default;
@mixin rtl() {
@if $rtl {
dir: rtl;
@each $property in @content {
//check property if it's padding or margin or something
else rtl-related... if hit use rtl mixin
}
}
@else { @content; }
}
@content を解析する必要があると思いますが、機能しません (Invalid CSS after "...h $property in ": expected expression (eg 1px, bold), was "@content {) .
今、私は 2 つの変数で rtl を処理します:
$dir: left !default;
$opdir: right !default;
rtlのときに変更します。次のようなsassファイルで使用します
margin-#{$dir}: 15px;
しかし、このソリューションは十分に柔軟ではないと思います。また、css プロパティごとに個別の mixin を含めたくありません。
誰かがより良いアイデアや解決策を持っていますか? どんなフィードバックも歓迎