我正在開發一個新的項目,該項目將採用兩種語言。阿拉伯文和英文。Sass擴展參數或解決方法
我將在這個項目上使用SASS,還沒等我開始做我想確保我使用的有關花車和RTL/LTR,最好的辦法任何開發
我在想,如果有可能有擴展SASS函數的參數。
我的HTML的正文將有一個類,具體取決於用戶的語言。基於這個類,如果EN是正確的,那麼我想漂浮到左邊,如果AR是正確的話。要做到這一點,我有一個快速的草案在這裏:http://jsfiddle.net/WJ6wC/
.lang-en {
direction: ltr;
%float-dir {
float:left;
}
%text-align {
text-align:left;
}
}
.lang-ar {
direction: rtl;
%float-dir {
float:right;
}
%text-align {
text-align:right;
}
}
.content {
width:500px;
margin:20px auto;
padding:20px;
background:#e5e5e5;
overflow:auto;
h1, p {
margin:0;
}
.thumbnail {
@extend %float-dir;
margin-right:20px;
}
.description {
@extend %float-dir;
@extend %text-align;
}
}
.meta {
a {
font-size:12px;
text-decoration:none;
}
}
.icon {
display:inline-block;
width:10px;
height:10px;
&:after {
content:"+";
display:inline-block;
}
}
.control-panel {
margin:20px 0 0 0;
padding:10px 0 0 0;
border-top:1px solid #ccc;
}
有一個jQuery位改變上單擊類。
不幸的是,範圍並不接受我所知道的任何論點。我怎麼能這樣做,取決於身體類別而不是'保證金左','保證金',或'而不是'填充左','填充權'?
我的想法是這樣的:
.content {
%marginSwap(10px 0 0 10px);
}
語言類中
某處混合交換保證金左值保證金正確的價值。
像一個mixin,但依賴於父類像一個延伸:
@mixin marginSwap($top, $right, $bottom, $left) {
margin-top:$top;
margin-right:$left; // Left instead of right
margin-bottom:$bottom;
margin-left:$right;
}
希望你從我的jsfiddle更好地瞭解
對我的Scss來說這是一個很好的選擇,但邊距和填充怎麼樣?你將如何處理這些?萬分感謝! –
我已經添加了邊距示例 – cimmanon
太棒了!我會做一些性能測試。我想知道一箇中型網站的css文件將如何使用這種技術,而不是爲每種語言創建兩個單獨的CSS版本。 –