sass入門

變量

變量定義

$變量名: 變量值;

$color: red;

變量使用

$變量名

$變量名不能使用在CSS選擇器和屬性名中

$highlight-color: #F90;
$highlight-border: 1px solid $highlight-color;
.selected {
  border: $highlight-border;
}

//編譯后

.selected {
  border: 1px solid #F90;
}

嵌套規(guī)則

普通嵌套

  • 類似于大盒套小盒 大盒可以同時(shí)裝小盒和東西
    • 大盒相當(dāng)于父級
    • 小盒相當(dāng)于子級
    • 東西相當(dāng)于父級本身的屬性
  • 父級的屬性會單獨(dú)生成CSS樣式

SCSS源碼

@charset "UTF-8";

#content {
  background: red;
  article {
    font-size: 12px;
    h1 {
      font-size:24px;
    }
    p {
      line-height:24px;
    }
  }
  aside {
    background: green;
  }
}

CSS源碼

#content {
  background: red; }
  #content article {
    font-size: 12px; }
    #content article h1 {
      font-size: 24px; }
    #content article p {
      line-height: 24px; }
  #content aside {
    background: green; }

父選擇器嵌套 &

  • 偽類選擇器

    SCSS源碼

    @charset "UTF-8";
    
    #content {
      background: red;
      article {
        a {
          color:white;
        }
        &:hover {
          text-decoration:underline;
        }
      }
    }
    

    CSS源碼

    #content {
      background: red; }
      #content article a {
        color: white; }
      #content article:hover {
        text-decoration: underline; }
    
    

    ?

  • 后置 & 父選擇器之前添加選擇器

    SCSS源碼

    @charset "UTF-8";
    
    #content {
      background: red;
      article {
        color:green;
      }
      body & {
        font-size: 12px;
      }
    }
    

    CSS源碼

    #content {
      background: red; }
      #content article {
        color: green; }
      body #content {
        font-size: 12px; }
    

群組選擇器嵌套

SCSS源碼

@charset "UTF-8";

nav, aside {
  a {
    color: blue
  }
}

CSS源碼

nav a, aside a {
  color: blue; }

組合選擇器嵌套

  • > 子選擇器
  • + 同層相鄰組合選擇器
  • ~ 同層全體組合選擇器

屬性嵌套

SCSS源碼

@charset "UTF-8";

nav {
  //屬性嵌套
  border: {
    style: solid;
    width: 1px;
    radius: 8px;
  };
  //指明例外規(guī)則
  margin:0 {
    bottom: 0;
  };
}

CSS源碼

nav {
  border-style: solid;
  border-width: 1px;
  border-radius: 8px;
  margin: 0;
    margin-bottom: 0; }

導(dǎo)入SASS文件

@import

SCSS源碼

@import "路徑";

默認(rèn)變量值

  • $變量名: 變量值 !default;

SCSS源碼

@charset "UTF-8";

$box-width: 400px !default;
.box {
  width: $box-width;
}

CSS源碼

.box {
  width: 400px; }

嵌套導(dǎo)入

SCSS源碼

//width.scss

$box-width: 400px !default;

//theme.scss
aside {
  background: blue;
  color: white;
}


@charset "UTF-8";

@import "width";
.box {
  @import "theme";
  width: $box-width;
}

CSS源碼

.box {
  width: 400px; }
  .box aside {
    background: blue;
    color: white; }

以上是兩種導(dǎo)入方式

原生CSS導(dǎo)入

  • CSS@import

注釋

// 這種注釋內(nèi)容不會出現(xiàn)在生成的css文件中
/* 這種注釋內(nèi)容會出現(xiàn)在生成的css文件中 */

混合器

  • 混合器實(shí)際大段樣式重用
  • 混合器類似函數(shù)
  • 混合器主要用于樣式展示層的重用

混合器定義@mixin

SCSS源碼

@mixin 混合器名稱 {
    ......
}

混合器的使用@include

SCSS源碼

@charset "UTF-8";

@mixin rounded-corners {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

.notice {
  background-color: green;
  border: 2px solid #00aa00;
  @include rounded-corners;
}

CSS源碼

.notice {
  background-color: green;
  border: 2px solid #00aa00;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

使用混合器的場景

利用混合器袜香,可以很容易地在樣式表的不同地方共享樣式惠遏。如果你發(fā)現(xiàn)自己在不停地重復(fù)一段樣式殖蚕,那就應(yīng)該把這段樣式構(gòu)造成優(yōu)良的混合器,尤其是這段樣式本身就是一個(gè)邏輯單元毕箍,比如說是一組放在一起有意義的屬性。

混合器中的CSS規(guī)則

SCSS源碼

@mixin no-bullets {
  list-style: none;
  li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0px;
  }
}

ul.plain {
  color: #444;
  @include no-bullets;
}

CSS源碼

ul.plain {
  color: #444;
  list-style: none; }
  ul.plain li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0px; }

混合器傳參

SCSS源碼

@charset "UTF-8";

@mixin link-colors($normal, $hover, $visited) {
  color: $normal;
  &:hover { color: $hover; }
  &:visited { color: $visited; }
}

//必須按順序調(diào)用
a {
  @include link-colors(blue, red, green);
}

//不必按順序調(diào)用
a {
  @include link-colors(
  $normal: blue,
  $visited: green,
  $hover: red
  );
}

CSS源碼

a {
  color: blue; }
  a:hover {
    color: red; }
  a:visited {
    color: green; }

a {
  color: blue; }
  a:hover {
    color: red; }
  a:visited {
    color: green; }

混合器參數(shù)默認(rèn)值

SCSS源碼

@charset "UTF-8";

@mixin link-colors(
$normal,
$hover: $normal,
$visited: $normal
)
{
  color: $normal;
  &:hover { color: $hover; }
  &:visited { color: $visited; }
}

a {
  @include link-colors(red);
}

CSS源碼

a {
  color: red; }
  a:hover {
    color: red; }
  a:visited {
    color: red; }

繼承 @extend

繼承占位符 %

混合器/繼承/占位符區(qū)別

1040067-20161019114010342-630734152.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末道盏,一起剝皮案震驚了整個(gè)濱河市而柑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荷逞,老刑警劉巖媒咳,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異颅围,居然都是意外死亡伟葫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門院促,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筏养,“玉大人,你說我怎么就攤上這事常拓〗ト埽” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵弄抬,是天一觀的道長茎辐。 經(jīng)常有香客問我,道長掂恕,這世上最難降的妖魔是什么拖陆? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮懊亡,結(jié)果婚禮上依啰,老公的妹妹穿的比我還像新娘。我一直安慰自己店枣,他們只是感情好速警,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸯两,像睡著了一般闷旧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钧唐,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天忙灼,我揣著相機(jī)與錄音,去河邊找鬼逾柿。 笑死缀棍,一個(gè)胖子當(dāng)著我的面吹牛宅此,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爬范,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼父腕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了青瀑?” 一聲冷哼從身側(cè)響起璧亮,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斥难,沒想到半個(gè)月后枝嘶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哑诊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年群扶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镀裤。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竞阐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暑劝,到底是詐尸還是另有隱情骆莹,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布担猛,位于F島的核電站幕垦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏傅联。R本人自食惡果不足惜先改,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒸走。 院中可真熱鬧盏道,春花似錦、人聲如沸载碌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫁艇。三九已至,卻和暖如春弦撩,著一層夾襖步出監(jiān)牢的瞬間步咪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工益楼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猾漫,地道東北人点晴。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像悯周,于是被迫代替她去往敵國和親粒督。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355