我想知道是否有可能将mixin处理多个参数作为应该转换为rtl的属性。 我想要做这样的事情SASS项目中的从右到左(RTL)支持
.css-selector {
width: 300px;
height: 200px;
@include rtl {
padding: 10px 5px 3px 4px;
margin: 3px 8px 2px 5px;
}
}
与一个mixin:
$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,但它在” ...... H $不起作用(CSS无效在属性 “:预期表达(例如1像素,粗体),呈” @content {)
现在我处理RTL 2个VARS:
$dir: left !default;
$opdir: right !default;
,我改变时,它是rtl。我用它在我的sass文件中,如
margin-#{$dir}: 15px;
但我不认为这个解决方案足够灵活。而且我也不想在每个CSS属性中包含一个单独的mixin。
有人有更好的主意或解决方案吗?任何反馈欢迎
现在我使用RTL 一个简单的检查 '.cssBlock { 边距:50像素; @if $ ltr {margin} - left:30px; } @else {margin:15px; margin:30px; } }' – woutvdd