亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

兴国县| 南阳市| 南京市| 华容县| 安多县| 柳林县| 鄂伦春自治旗| 武陟县| 缙云县| 辽中县| 丹江口市| 金湖县| 澜沧| 淅川县| 灵石县| 汉阴县| 修水县| 韶关市| 裕民县| 黑龙江省| 绿春县| 满城县| 弋阳县| 马尔康县| 辽宁省| 肥东县| 定兴县| 彩票| 泽库县| 汽车| 霍州市| 岢岚县| 峨边| 张掖市| 曲阜市| 昌平区| 城口县| 二连浩特市| 临汾市| 潞西市| 静乐县|