[Sass運算]除法
Sass的乘法運算規則也適用於除法運算。不過除法運算還有一個特殊之處。眾所周知“/”符號在CSS中已做為一種符號使用。因此在Sass中做除法運算時,直接使用“/”符號做為除號時,將不會生效,編譯時既得不到我們需要的效果,也不會報錯。一起先來看一個簡單的示例:
.box {
width: 100px / 2;
}
編譯出來的CSS 如下:
.box {
width: 100px / 2;
}
這樣的結果對於大家來說沒有任何意義。要修正這個問題,只需要給運算的外面添加一個小括號( )即可:
.box {
width: (100px / 2);
}
編譯出來的CSS 如下:
.box {
width: 50px;
}
除了上面情況帶有小括號,“/”符號會當作除法運算符之外,如果“/”符號在已有的數學表達式中時,也會被認作除法符號。如下面示例:
.box {
width: 100px / 2 + 2in;
}
編譯出來的CSS:
.box {
width: 242px;
}
另外,在Sass除法運算中,當用變量進行除法運算時,“/”符號也會自動被識別成除法,如下例所示:
$width: 1000px;
$nums: 10;
.item {
width: $width / 10;
}
.list {
width: $width / $nums;
}
編譯出來的CSS:
.item {
width: 100px;
}
.list {
width: 100px;
}
綜合上述,”/ ”符號被當作除法運算符時有以下幾種情況:
•如果數值或它的任意部分是存儲在一個變量中或是函數的返回值。
•如果數值被圓括號包圍。
•如果數值是另一個數學表達式的一部分。
如下所示:
//SCSS
p {
font: 10px/8px; // 纯 CSS,不是除法运算
$width: 1000px;
width: $width/2; // 使用了变量,是除法运算
width: round(1.5)/2; // 使用了函数,是除法运算
height: (500px/2); // 使用了圆括号,是除法运算
margin-left: 5px + 8px/2px; // 使用了加(+)号,是除法运算
}
編譯出來的CSS
p {
font: 10px/8px;
width: 500px;
height: 250px;
margin-left: 9px;
}
Sass 的除法運算還有一個情況。我們先回憶一下,在乘法運算時,如果兩個值帶有相同單位時,做乘法運算時,出來的結果並不是我們需要的結果。但在除法運算時,如果兩個值帶有相同的單位值時,除法運算之後會得到一個不帶單位的數值。如下所示:
.box {
width: (1000px / 100px);
}
編譯出來的CSS如下:
.box {
width: 10;
}