Angular中SASS樣式的詳細(xì)使用教程
前言
在 Angular 自定義指令 Tooltip 文章中,我們說會出一篇關(guān)于 sass 樣式的文章,現(xiàn)在它來了。
前端三劍客之一,層疊樣式表(Cascading Style Sheets,CSS),就是對 HTML 骨架的潤色。但是我們通過原生編寫的樣式,會出現(xiàn)很多重復(fù)代碼,而已邏輯不明確。
那么,我們可以通過 CSS 的擴展語言來進行編寫維護。目前前端界比較流行的兩個 CSS 擴展語言是 less 和 sass。本文講解的是 sass。
less 也是差不多,sass 更加成熟
SASS 提供了兩種編寫的語法,一種是 .scss 為后綴,另一種是 .sass 為后綴。
.scss 為后綴,語法用 {} 修飾.sass 為后綴,語法是縮緊方式
推薦使用 .scss
項目集成
angular 項目使用腳手架生成,在添加樣式這一個步驟,會詢問你編寫樣式的方式,讓你選擇:

選擇 SCSS,然后確認(rèn)即可,就是這么簡單。
在 angular 中編寫樣式,可以分為組件樣式和全局樣式。
組件樣式
組件樣式就是組件單獨擁有,其他組件不會生效,比如,你通過 ng g compoent demo 生成組件:
- demo.component.ts - demo.component.html - demo.component.scss - deom.component.spec.ts
其中 demo.compoent.scss 就是 deom 這個組件的樣式表。
全局樣式
angular 腳手架生成的項目,默認(rèn)在 src/style.scss 文件存放全局的樣式。在這個文件修改的樣式,將對整個應(yīng)用的樣式產(chǎn)生影響。
Sass 重點語法
針對日常的開發(fā)工作,我們來介紹下比較重要的內(nèi)容。
1. 使用變量
使用變量能夠讓你在多個頁面或者頁面中的多處進行調(diào)用。
// _varible.scss // **** COLORS **** $black: #000000; $white: #ffffff; $dark-green: #007f7f; // **** usage **** $primary-color: $dark-green;
我們將變量方式在一個文件中進行管理,當(dāng)需要使用到它的使用,我們直接進行 @import 導(dǎo)入使用即可:
@import "path/to/varible.scss";
#demo {
color: $primary-color; // 調(diào)用
}
2. 使用嵌套
在使用 css 樣式的時候,我們需要對不同元素進行樣式的編寫,我們需要考慮到元素所在的層次,采用不同的權(quán)重對其進行修改。
現(xiàn)在有骨架如下:
<div id="demo">
<div class="inner">
<span class="prefix">Mr.</span>
</div>
<div class="inner">
<span class="name">Jimmy<span>
</div>
</div>
現(xiàn)在有樣式如下:
#demo .inner .prefix {
color: red;
font-size: 11px;
}
#demo .inner .name {
font-size: 14px;
}
那么我們可以使用嵌套寫法,邏輯清晰,閱讀方便:
#demo {
.inner{
.prefix {
color: red;
font-size: 11px;
}
.name {
font-size: 14px;
}
}
}
3. 使用計算
sass 提供了一系列的操作符,如 +、-、*、/、%,使用就像寫 javascript 變量運算一樣,竟然還可以帶單位:
width: 100px / 400px * 100%l;
除了這些基本的運算符之外,sass 還提供了很多的方法,比如 String 函數(shù):
to-upper-case('italic'); // ITALIC
又例如更改顏色的透明度方法:
#demo {
background-color: transparentize($black, 0.5)
}
4. 使用 mixin 混合器
在編寫樣式的時候,我們會出現(xiàn)在多個類中調(diào)用同一份的樣式內(nèi)容。比如:
.demo {
font-size: 12px;
color: red;
}
.another_demo {
font-size: 12px;
color: blue;
}
我們使用 mixin 改寫:
@mixin common-style {
font-size: 12px;
}
.demo {
@include common-style;
color: red;
}
.another_demo {
@include common-style;
color: blue;
}
使用 mixin 提取公共的代碼出來,方便我們更改,改一處多處更改。當(dāng)然,extend 即成也有這種效果。
5. 使用 extend 繼承
比如,我們可以對上一個類的樣式進行續(xù)寫:
原骨架和樣式:
<span class="prefix name">Hello, Jimmy.</span>
.prefix {
font-size: 12px;
}
.name {
color: red;
}
改寫后:
<span class="name">Hello, Jimmy.</span>
.prefix {
font-size: 12px;
}
.name {
@extend .prefix
color: red;
}
在日常的開發(fā)中,掌握上面的這些技能,足夠你從容應(yīng)對樣式編寫~
總結(jié)
到此這篇關(guān)于Angular中SASS樣式詳細(xì)使用的文章就介紹到這了,更多相關(guān)Angular SASS樣式使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解webpack+es6+angular1.x項目構(gòu)建
這篇文章主要介紹了詳解webpack+es6+angular1.x項目構(gòu)建, 小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Angularjs渲染的 using 指令的星級評分系統(tǒng)示例
本篇文章主要介紹了Angularjs渲染的 using 指令的星級評分系統(tǒng)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11

