stylus預處理入門(二)--變量

作者:blue(又名一書and一世界) 我的github
**用途: **CSS預處理語言stylus初學者入門
傳送門:

變量(variables)

變量的標識符可以由$、下劃線、字母、數字組成,其中數字不能作為變量的開頭。其實這里的變量只是理解為單純的字符替換

外部定義變量:

_font-size = 14px
font = _font-size "Lucida Grande", Arial

body
  font font, sans-serif

轉化:

body {
  font: 14px "Lucida Grande", Arial, sans-serif;
}

下面是變量的另外一種用法,不在外部定義變量:

  • 內部重新定義當前變量
 #logo
   width: w = 150px
   height: h = 80px
   margin-left: (w / 2)
   margin-top: (h / 2) /*注意括號一定要加上*/

轉化:

#logo {
  width: 150px;
  height: 80px;
  margin-left: 75px;
  margin-top: 40px;
}

  • 使用內部變量
 #logo
   width: w = 150px
   height: h = 80px
   margin-left: (@width / 2)
   margin-top: (@height / 2) /*注意括號一定要加上*/

轉化:

#logo {
  width: 150px;
  height: 80px;
  margin-left: 75px;
  margin-top: 40px;
}

變量的深入用法:寫在mixins里,與分支結構配合定義初始屬性值等。

  position()
    position: arguments
    z-index: 1 unless @z-index /*這里是mixins,如果不懂可以先忽略。*/

  #logo
    z-index: 20
    position: absolute

  #logo2
    position: absolute

轉化:

#logo {
  z-index: 20;
  position: absolute;
}
#logo2 {
  position: absolute;
  z-index: 1;
}

變量冒泡查詢

先看一個栗子:

   body
    color: red
    ul
      li
        color: blue
        p
            color:black
            a
                background-color: @color

轉化:

body {
  color: #f00;
}
body ul li {
  color: #00f;
}
body ul li p {
  color: #000;
}
body ul li p a {
  background-color: #000;
}

注:從當前層開始,一直往上層查詢,直到找到為止,找不到則返回null。上面例子中選擇器"body ul li p"就定義了color屬性了,而且選擇器a被"body ul li p"嵌套的。所以查詢到了上層的color屬性,停止查詢。


QUOTE: If you are not moving ahead , you are falling behind.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容