91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS中如何使用Sass框架

發布時間:2021-07-27 16:34:39 來源:億速云 閱讀:151 作者:Leah 欄目:web開發

今天就跟大家聊聊有關CSS中如何使用Sass框架,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

賦值操作符

Sass 使用冒號( : )來定義一個變量:

CSS Code復制內容到剪貼板

  1. $main-color: lightgray;  

算術操作符

算術操作符用于執行數學計算,下面是 Sass 所支持的算術操作符:

操作符簡介
+
-
*
/
%取余


注意,上面的操作符只能用于單位相同的數值運算:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     font-size5px + 2em; // 單位不一致,編譯報錯   

  3.     font-size5px + 2; // 7px  

  4. }  

此外,兩個單位相同的數值相乘無法生成有效的 CSS:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     font-size5px * 2px; // invalid CSS   

  3. }  

如你所知,/ 操作符本身就是 CSS 簡寫語法的一部分,比如:

CSS Code復制內容到剪貼板

  1. font16px / 24px Arial sans-serif;   

  2. backgroundurl("http://example.com"no-repeat fixed center / cover;  

但是,Sass 重載了該運算符,用于執行除法操作,下面讓我們看看它是如何解析的:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     // 不執行除法操作,原樣輸出   

  3.     font-size16px / 24px;    

  4.   

  5.     // 使用插值語法之后,原樣輸出   

  6.     font-size: #{$base-size} / #{$line-height};    

  7.   

  8.     // 使用括號包裹之后,執行除法操作   

  9.     font-size: (16px / 24px);    

  10.   

  11.     // 使用變量,執行除法操作   

  12.     font-size: $base-size / $line-height;    

  13.   

  14.     // 調用函數,執行除法操作   

  15.     opacity: random(4) / 5;    

  16.   

  17.     // 使用算術操作符,執行除法操作   

  18.     padding-right2px / 4px + 3px;    

  19. }  

Sass 中的操作符也具有優先級的概念,規則如下:

括號中的操作具有最高優先級
乘法、除法的優先級高于加法和減法

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     width3px * 5 + 5px; // 20px  

  3.   

  4.     width: 3 * (5px + 5px); // 30px  

  5.   

  6.     width3px + (6px / 2) * 3; // 12px  

  7.  }  

相等操作符

相等操作符常用于條件語句,用來比較左右運算子是否相等,最終返回布爾值:

操作符簡介
==相等
!=不等


相等操作符適用于所有類型,下面來看兩個示例。在第一個示例中,我們使用 == 來測試 $font 的類型,并輸出對應的信息:

CSS Code復制內容到剪貼板

  1. @mixin font-fl($font){   

  2.     &:after {   

  3.         @if(type-of($font) == string) {   

  4.             content'My font is: #{$font}.';   

  5.         } @else {   

  6.             content'Sorry, the argument #{$font} is a #{type-of($font)}.';   

  7.         }   

  8.     }   

  9. }   

  10.   

  11. h3{   

  12.     @include font-fl(sans-serif);   

  13. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h2:after {   

  2.     content'My font is: sans-serif.';   

  3. }  

在第二個示例中,定義了一個列表并檢查該列表的長度。通過使用 % 操作符,我們可以計算每個元素的長度,然后根據特定條件對 color 進行賦值:

CSS Code復制內容到剪貼板

  1. $list: "tomato""lime""lightblue";   

  2.   

  3. @mixin fg-color($property) {   

  4.     @each $item in $list {   

  5.         $color-length: str-length($item);   

  6.         @if( $color-length % 2 != 0 ) {   

  7.             #{$property}: unquote($item);   

  8.         }   

  9.     }   

  10. }   

  11.   

  12. h3 {   

  13.     @include fg-color(color);   

  14. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     color: lightblue;   

  3. }   

  4. 這里需要提醒的是,Sass 不支持嚴格相等操作符 ===,不過從下面的示例中你會發現,Sass 解析 == 的原則就是嚴格相等:   

  5.   

  6. // 在 javascript 中   

  7. ("5" == 5) // true   

  8.   

  9. ("5" === 5) // false   

  10.   

  11. // 在 Sass 中   

  12. ("5" == 5) // false   

  13.   

  14. (20px == 20) // true (Libsass 不支持)  

比較操作符

與相等操作符類似,比較操作符用來比較數值。在 Sass 中,支持以下比較操作符:

操作符簡介
>大于
>=大于或者等于
<小于
<=小于或者等于


下面是一個簡單的示例:

CSS Code復制內容到剪貼板

  1. $padding50px;   

  2.   

  3. h3 {   

  4.     @if($padding <= 20px) {   

  5.         padding: $padding;   

  6.     } @else {   

  7.         padding: $padding / 2;   

  8.     }   

  9. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     padding25px;   

  3. }  

邏輯操作符

邏輯操作符常用于測試多個條件表達式,Sass 支持的邏輯操作符如下所示:

操作符條件簡介
andx and y與操作
orx or y或操作
notnot x取反


下面通過一個示例來解釋邏輯操作符的用法:定義一個 map,存儲按鈕的狀態以及對應的顏色,然后創建一個條件語句,用來測試 map 內元素的多少。如果通過條件測試,那么就給 h3 添加 background-color 屬性。代碼如下所示:

CSS Code復制內容到剪貼板

  1. $list-map: (success: lightgreen, alert: tomato, info: lightblue);   

  2.   

  3. @mixin button-state($btn-state) {   

  4.     @if (length($list-map) > 2 or length($list-map) < 5) {   

  5.         background-color: map-get($list-map, $btn-state);   

  6.     }   

  7. }   

  8.   

  9. .btn {   

  10.     @include button-state(success);   

  11. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. .btn {   

  2.     background-color: lightgreen;   

  3. }  

如你所見,因為 map 的元素數量為 3,符合 length($list-map) > 2 &ndash; length($list-map) < 5 的條件,所以返回的結果是 true。

請注意以下兩個條件的差異:

CSS Code復制內容到剪貼板

  1. @if (length($list-map) > 2 or not (length($list-map) == 3)) {...}    

  2. // true   

  3.   

  4. @if (length($list-map) > 2 and not (length($list-map) == 3)) {...}    

  5. // false  

字符串操作符

在第一節我們就講過,+ 可以用來拼接字符串。下面是一個 + 拼接字符串的規則:

如果字符串被引號包裹,那么它拼接任何字符串的結果也會被引號包裹
如果字符串沒有被引號包裹,那么它拼接任何字符串的結果也不會被引號包裹
下面是一個實際示例:

CSS Code復制內容到剪貼板

  1. @mixin string-concat {   

  2.     &:after {   

  3.         content"My favorite language is " + Sass;   

  4.         fontArial + " sans-serif";   

  5.     }   

  6. }   

  7.   

  8. h3 {   

  9.     @include string-concat;   

  10. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h2:after {   

  2.     content"My favorite language is Sass";   

  3.     fontArial sans-serif;   

  4. }  

此外,我們可以使用差值語法動態改變字符串,如果插值的結果為 null,那么該值不會被輸出,下面是一個示例:

CSS Code復制內容到剪貼板

  1. @mixin string-concat ($language) {   

  2.     &:after {   

  3.         content"My favorite language is #{$language}";   

  4.   

  5.         // second way without using interpolation   

  6.         //content"My favorite language is " + $language;   

  7.     }   

  8. }   

  9.   

  10. h3 {   

  11.     @include string-concat(Sass);   

  12. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h2:after {   

  2.     content"My favorite language is Sass";   

  3. }  

顏色運算

在上面的第二節中,我們分析了算術操作符,在 Sass 中一個有趣的事情就是,我們可以使用算術運算符操作顏色。請看一個實例:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     color#468499 + #204479;   

  3. }  

編譯結果:

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     color#66c8ff;   

  3. }  

那么,其中的解析原則是什么呢?首先我們需要記住,十六進制顏色值是由紅綠藍三種值組合而成,然后在執行相加時,每兩個十六進制數值分組相加:46+20=66 (紅色), 84+44=c8 (綠色), 和 99+79=ff (藍色)。

下面是我們的最后一個示例,和上面示例的差別在于它使用了 rgba():

CSS Code復制內容到剪貼板

  1. h3 {   

  2.     color: rgba(70, 132, 153, 1) + rgba(32, 68, 121, 1);   

  3.   

  4.     color: rgba(70, 132, 153, .9) + rgba(32, 68, 121, .7);   

  5.     // 報錯,透明通道的值必須一致   

  6. }  

看完上述內容,你們對CSS中如何使用Sass框架有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亳州市| 嵊泗县| 贡嘎县| 新巴尔虎左旗| 连江县| 安丘市| 大邑县| 兴城市| 南宁市| 阿拉善盟| 邵阳市| 荔波县| 航空| 勃利县| 鹤壁市| 剑河县| 天祝| 淮北市| 威海市| 灵山县| 长葛市| 唐河县| 乌审旗| 阿克| 施秉县| 常德市| 菏泽市| 鄂托克旗| 湖州市| 太谷县| 阿克苏市| 齐齐哈尔市| 东台市| 红安县| 甘孜| 昌图县| 礼泉县| 祁阳县| 房山区| 清流县| 紫阳县|