中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

sass學習筆記(三):sass的變量及嵌套

發布時間:2020-07-20 16:26:58 來源:網絡 閱讀:492 作者:FrontDream 欄目:開發技術

sass的變量

1、聲明變量

$width: 300px;

如上所示,Sass 的變量包括三個部分:聲明變量的符號“$”、變量名稱、賦予變量的值。


2、普通變量與默認變量

普通變量定義之后可以在全局范圍內使用。默認變量僅需要在值后面加上 !default 即可。例如:

$baseLineHeight:1.5 !default;
body{
    line-height: $baseLineHeight; 
}

編譯后的css代碼:

body{
    line-height:1.5;
}

sass 的默認變量一般是用來設置默認值,然后根據需求來覆蓋的,覆蓋的方式也很簡單,只需要在默認變量之前重新聲明下變量即可。

$baseLineHeight: 2;
$baseLineHeight: 1.5 !default;
body{
    line-height: $baseLineHeight; 
}

編譯后的css代碼:

body{
    line-height:2;
}

可以看出現在編譯后的 line-height 為 2,而不是我們默認的 1.5。


3、局部變量與全局變量

//SCSS$color: orange !default;//定義全局變量(在選擇器、函數、混合宏...的外面定義的變量為全局變量)
.block {
  color: $color;//調用全局變量
}
em {
  $color: red;//定義局部變量
  a {
    color: $color;//調用局部變量
  }
}
span {
  color: $color;//調用全局變量

css 的結果:

//CSS
.block {
  color: orange;
}
em a {
  color: red;
}
span {
  color: orange;
}

全局變量就是定義在元素外面的變量,而定義在元素內部的變量,比如 $color:red; 是一個局部變量。


什么時候聲明變量?

創建變量只適用于感覺確有必要的情況下。不要為了某些駭客行為而聲明新變量,這絲毫沒有作用。只有滿足所有下述標準時方可創建新變量:

1.該值至少重復出現了兩次;

2.該值至少可能會被更新一次;

3.該值所有的表現都與變量有關(非巧合)。

基本上,沒有理由聲明一個永遠不需要更新或者只在單一地方使用變量。


sass的嵌套:

1、選擇器嵌套

nav {
  a {
    color: red;

    header & {
      color:green;
    }
  }  
}

css是這樣的:

nav a {
  color:red;
}

header nav a {
  color:green;
}


2、屬性嵌套

CSS 有一些屬性前綴相同,只是后綴不一樣,比如:border-top/border-right,與這個類似的還有 margin、padding、font 等屬性。假設你的樣式中用到了:

.box {
    border-top: 1px solid red;
    border-bottom: 1px solid green;
}

在 Sass 中我們可以這樣寫:

.box {
  border: {
   top: 1px solid red;
   bottom: 1px solid green;
  }
}


3、偽類嵌套

偽類嵌套和屬性嵌套非常類似,只不過他需要借助`&`符號一起配合使用。拿經典的“clearfix”為例:

.clearfix{&:before,&:after {
    content:"";
    display: table;
  }&:after {
    clear:both;
    overflow: hidden;
  }
}

編譯出來的 CSS:

clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  overflow: hidden;
}

避免選擇器嵌套:

選擇器嵌套最大的問題是將使最終的代碼難以閱讀。開發者需要花費巨大精力計算不同縮進級別下的選擇器具體的表現效果。

選擇器越具體則聲明語句越冗長,而且對最近選擇器的引用(&)也越頻繁。在某些時候,出現混淆選擇器路徑和探索下一級選擇器的錯誤率很高,這非常不值得。

為了防止此類情況,我們應該盡可能避免選擇器嵌套。


向AI問一下細節

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

AI

运城市| 格尔木市| 灵川县| 建阳市| 泰宁县| 湖北省| 益阳市| 广饶县| 衡南县| 南昌市| 通榆县| 南陵县| 乾安县| 修文县| 启东市| 都兰县| 康平县| 泾川县| 磐石市| 永胜县| 墨江| 潞城市| 玉林市| 德钦县| 扶余县| 招远市| 澄江县| 德令哈市| 安西县| 定日县| 那坡县| 寻乌县| 鄂伦春自治旗| 峡江县| 神池县| 洪雅县| 宁陵县| 青河县| 新竹市| 扬中市| 琼结县|