Mi chiedo se sia possibile creare un mixin che gestisca più argomenti come proprietà da convertire in rtl. voglio fare qualcosa di similesupporto da destra a sinistra (RTL) nel progetto SASS
.css-selector {
width: 300px;
height: 200px;
@include rtl {
padding: 10px 5px 3px 4px;
margin: 3px 8px 2px 5px;
}
}
con un 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; }
}
penso che dovrei analizzare il @content, ma non funziona (non valido CSS dopo" ... h $ proprietà in. ": espressione previsto (ad esempio 1px, grassetto), era" @content {)
Ora mi occupo di RTL con 2 Vars:
$dir: left !default;
$opdir: right !default;
che cambio quando è rtl. Lo uso nei miei file sass come
margin-#{$dir}: 15px;
Ma non penso che questa soluzione sia sufficientemente flessibile. E inoltre non voglio includere un mixin separato per proprietà CSS.
Qualcuno ha un'idea o una soluzione migliore? Qualsiasi commento benvenuto
Ora sto usando un semplice controllo per RTL '.cssBlock { margin-top: 50px; @if $ ltr { margin-left: 30px; } @else { margin-right: 30px; } } ' – woutvdd