關于我在scss遇到的一些坑點

前言

scss(sass)是目前世界上最為成熟竿屹、穩(wěn)定的css預處理器,它可以無縫銜接目前市面上所有版本的css庫灸姊,為css增加編程性拱燃,使css無需考慮瀏覽器的兼容問題,讓CSS更加簡潔力惯,適應性更強碗誉,可讀性更佳,更易于代碼的維護等諸多好處父晶。

1哮缺、scss和sass

scss和sass都是一種css預處理器語言,他們性質十分相近甲喝,但是還是有一定程度的區(qū)別的
1蝴蜓、scss的文件擴展名是.scss,而sass的文件擴展名是.sass
2俺猿、Sass是以嚴格縮進式語法規(guī)則來書寫的茎匠,不帶大括號和分號;而SCSS的語法和CSS書寫語法類似押袍。

2诵冒、首行聲明

在使用scss時,首先要做的第一件事就是聲明編碼類型谊惭,如下↓↓↓

scss的編碼聲明

就是將這個scss文件聲明為utf-8的編碼格式汽馋,這里有一個需要注意的點utf-8的后面一定要記得家分號侮东,而大多數(shù)編譯工具都不會提示你需要加分號,這就導致很多人在剛接觸的時候就直接“over”豹芯。

3悄雅、將scss文件轉為css文件

當我們編寫好scss代碼時,我們的工作量其實只完成了一半铁蹈,我們的最終目標是css文件宽闲,所以我們需要一步“轉化”。
通常你的編譯工具應該都會自帶這個轉化功能握牧,我以hbuilder為例子容诬,我們先選擇工具,然后選擇預編譯器設置:

預編譯器設置

雙擊.sass.scss:

參數(shù)設置

點擊智能完成就配置好了沿腰,不過也會出現(xiàn)只能完成是灰的情況览徒,這個時候你就需要根據界面中的環(huán)境變量說明,再結合自己的情況手動填寫了颂龙。

不過习蓬,有的時候我們也會離開編譯工具,那這個時候我們應該如何轉化scss文件呢措嵌?
這個時候我們就可以使用命令行的方式編譯
首先我們先進到scss文件所在目錄:

scss所在目錄

然后在地址欄中輸入cmd打開命令行:
命令行1

我以圖中的new_file.scss文件為例子躲叼,單個文件的編譯方式為:
單文件編譯 scss 目標文件 生成目錄/文件名
命令行2

然后我們再打開文件夾一看:
生成css文件后

果然生成了css文件,順帶還生成了一個.map文件铅匹,大家可千萬別把這個文件刪除了押赊,.map文件適用于定位css代碼位于scss的行數(shù)饺藤,方便代碼調試包斑。

下面我在介紹幾種不同風格的轉碼方式:
--style nested:嵌套縮進的css代碼,它是默認值涕俗。

--style expanded:沒有縮進的罗丰、擴展的css代碼。

--style compact:簡潔格式的css代碼再姑。

--style compressed:壓縮后的css代碼萌抵。

有人會說,一個一個轉換不是很麻煩嗎元镀,如果我的文件多绍填,那要轉到猴年馬月啊,那么現(xiàn)在我來介紹如何使用命令行實時監(jiān)測轉碼:
實時監(jiān)控:scss --watch 監(jiān)測目錄:生成目錄

實時監(jiān)測

這樣只要你在檢測目錄下生成新的scss文件栖疑,命令行就會自動幫你在生成目錄下創(chuàng)建css文件了讨永,不過在命令行需要一直打開才行,如果你退出命令行遇革,檢測就會結束卿闹。

4揭糕、路徑

這是個老生常談的問題了,不要有中文锻霎!著角,不要有中文!旋恼,不要有中文吏口!
這些個語言啊,軟件啊蚌铜,都是老外寫的锨侯,所以他們都是不懂中文的,understand冬殃!

5囚痴、一些scss語法

scss和css不同,他是有編程性的审葬,下面我就來介紹一些scss的語法

聲明變量:$變量名

聲明函數(shù):@function 函數(shù)名(){}

混淆:@mixin(通過@include拼接):
混淆的功能是將寫好的部分代碼接入其他代碼深滚,他通過@include進行拼接
舉個例子:我們有下列一串代碼

@mixin center-block { margin-left: auto; margin-right: auto; }
#header{ width:1000px; @include center-block; } 
.gallery{ width:600px; @include center-block; }

然后我們將它們轉譯為css,就會得到下列代碼↓↓↓

#header { width: 1000px; margin-left: auto; margin-right: auto; } 
.gallery { width: 600px; margin-left: auto; margin-right: auto; }

繼承:@extend
繼承用于共享規(guī)則和選擇器之間的關系涣觉。它可以擴展所有其他類的樣式在一個類中痴荐,也可應用于自己特定的樣式。
舉個例子:我們有下列代碼

.style{
    font-size: 30px;
    font-style: italic;
}

h2{
    color: #787878;
    @extend .style

}
.container{
    @extend h2
}

編譯后的css代碼如下:

.style, h2, .container {
    font-size: 30px;
    font-style: italic;
 }

h2, .container {
    color: #787878;
}

導入:@import 文件名(不用后綴)
導入的作用是將一個scss文件引入另一個scss文件
舉個例子官册,我們有以下代碼

@mixin center-block { margin-left: auto; margin-right: auto; }

我們將這個這個文件寫在mixin.scss文件中,然后我們在一個新的scss文件中寫如下代碼

@import 'mixin'; 
#header{ width:1000px; @include center-block; } 
.gallery{ width:600px; @include center-block; }

然后我們將它們轉譯為css生兆,就會得到下列代碼↓↓↓

#header { width: 1000px; margin-left: auto; margin-right: auto; } 
.gallery { width: 600px; margin-left: auto; margin-right: auto; }

6、防轉碼

有些時候膝宁,如果我們不想轉譯某些文件該怎么辦呢蝇狼,其實我們只要在scss文件的名字前加_ 乳规,這樣scss文件就不會被檢測到譬涡。
不過這個方法在使用編譯工具自動轉碼時貌似會失效怀骤,所以大家酌情使用。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末介返,一起剝皮案震驚了整個濱河市拴事,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌圣蝎,老刑警劉巖刃宵,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徘公,居然都是意外死亡牲证,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門步淹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來从隆,“玉大人诚撵,你說我怎么就攤上這事〖耄” “怎么了寿烟?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辛燥。 經常有香客問我筛武,道長,這世上最難降的妖魔是什么挎塌? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任徘六,我火速辦了婚禮,結果婚禮上榴都,老公的妹妹穿的比我還像新娘待锈。我一直安慰自己,他們只是感情好嘴高,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布竿音。 她就那樣靜靜地躺著,像睡著了一般拴驮。 火紅的嫁衣襯著肌膚如雪春瞬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天套啤,我揣著相機與錄音宽气,去河邊找鬼。 笑死潜沦,一個胖子當著我的面吹牛萄涯,可吹牛的內容都是我干的。 我是一名探鬼主播止潮,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼窃判,長吁一口氣:“原來是場噩夢啊……” “哼钞楼!你這毒婦竟也來了喇闸?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤询件,失蹤者是張志新(化名)和其女友劉穎燃乍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宛琅,經...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡刻蟹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嘿辟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舆瘪。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡片效,死狀恐怖,靈堂內的尸體忽然破棺而出英古,到底是詐尸還是另有隱情淀衣,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布召调,位于F島的核電站膨桥,受9級特大地震影響,放射性物質發(fā)生泄漏唠叛。R本人自食惡果不足惜只嚣,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艺沼。 院中可真熱鬧册舞,春花似錦、人聲如沸障般。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剩拢。三九已至线得,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間徐伐,已是汗流浹背贯钩。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留办素,地道東北人角雷。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像性穿,于是被迫代替她去往敵國和親勺三。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容