前端學習筆記-SASS的使用
1. SASS簡介
學過CSS的人都知道,它不是一種程式語言,你可以用它開發網頁樣式,但是沒法用它程式設計。也就是說,CSS基本上是設計師的工具,不是程式設計師的工具。在程式設計師眼裡,CSS是一件很麻煩的東西。它沒有變數,也沒有條件語句,只是一行行單純的描述,寫起來相當費事
很自然地,有人就開始為CSS加入程式設計元素,這被叫做"(css preprocessor)。它的基本思想是,用一種專門的程式語言,進行網頁樣式設計,然後再編譯成正常的CSS檔案,其中SASS就是其中一種。
什麼是SASS/LESS:SASS是一種CSS的開發工具,提供了許多便利的寫法,大大節省了設計者的時間,使得CSS
直白的說就是:css可以打破常規的編寫方式,類似程式語言一樣,可以用變數、計算、巢狀、程式碼繼承(即程式碼複用)、還可以插入檔案等方式編寫css樣式,但最後需要用到sass將其編譯後生產css檔案後使用。
2. 安裝ruby
3.安裝sass
3.1 安裝完ruby之後,在開始選單中,找到剛才我們安裝的ruby,開啟Start Command Prompt with Ruby
3.2. 使用命令列 (由於國外網路問題,這裡需要使用淘寶映象)
3.2.1, 首先移除掉rubygems.org
gem sources --removehttps://rubygems.org/
3.2.2, 然後換用 ruby-china映象服務
gem sources -ahttp://gems.ruby-china.org/
3.2.3, 安裝好後檢查當前SOURCES列表:
gem sources -l
3.2.4, ruby映象跟換後,現在來安裝sass
gem install sass
3.2.5, 安裝成功後,可檢視sass是否已經安裝好,
sass -v
3.2.6, sass的其他命令
更新sass gem update sass
檢視sass幫助sass -h
4. 使用sass
4.1, SASS編譯
專案中的樣式檔案用.scss檔案編寫,並按照sass語法,然後用sass將scss檔案編譯成css檔案,再將編譯後的css檔案匯入專案中
檢視sass檔案的內容sass test.scss
編譯成css檔案sass test.scss test.css
4.2, SASS提供四個編譯風格的選項
* nested:巢狀縮排的css程式碼,它是預設值。
* expanded:沒有縮排的、擴充套件的css程式碼。
* compact:簡潔格式的css程式碼。
* compressed:壓縮後的css程式碼。
常用: sass --style compact test.sass test.css
4.3, SASS監聽檔案或目錄,一旦原始檔有變動,就自動生成編譯後的版本.
監聽檔案sass --watch input.scss:output.css
監聽資料夾sass --watch app/sass:public/stylesheets
5. Sass基本語法
5.1,變數
SASS允許使用變數,所有變數以$開頭
如果變數需要鑲嵌在字串之中,就必須需要寫在#{}之中
5.2,計算功能
SASS允許在程式碼中使用算式:
5.3,巢狀
SASS允許選擇器巢狀
屬性也可以巢狀,比如border-color屬性
可以使用&引用父元素。比如a:hover偽類
//定義變數
$width: 200px;
$left: left;
div {
width: $width;
//計算
height: $width + 200px;
background: red;
//巢狀
ul {
border: {
width: 5px;
style: dashed;
color: purple;
};
border-#{$left}: 3px solid blue;
}
&:hover {
background: orange;
}
}
5.4,程式碼重用-繼承
SASS允許一個選擇器,繼承另一個選擇器,使用@extend。
//繼承
.class1 {
width: 200px;
height: 200px;
}
div {
@extend .class1;
background: red;
}
5.5,程式碼重用[email protected]
使用@mixin命令,定義一個程式碼塊。
使用@include命令,呼叫這個mixin
//混合
@mixin a {
width: 200px;
height: 200px;
}
div {
@include a;
background: red;
}
//帶參混合
@mixin a($w:200px){
width: $w;
height: 200px;
}
div {
@include a(300px);
background: red;
}
5.6,註釋
SASS共有兩種註釋風格。
標準的CSS註釋 /* comment */,會保留到編譯後的檔案。
單行註釋 // comment,只保留在SASS原始檔中,編譯後被省略。
在/*後面加一個感嘆號,表示這是"重要註釋"。即使是壓縮模式編譯,也會保留這行註釋,通常可以用於宣告版權資訊
/*!
重要註釋!
*/
5.7,插入檔案
@import命令,用來插入外部檔案scss或css。
相關推薦
前端學習筆記-SASS的使用
1. SASS簡介 學過CSS的人都知道,它不是一種程式語言,你可以用它開發網頁樣式,但是沒法用它程式設計。也就是說,CSS基本上是設計師的工具,不是程式設計師的工具。在程式設計師眼裡,CSS是一件很麻煩的東西。它沒有變數,也沒有條件語句,只是一行行單純的描述,寫起來相當費
前端學習筆記2017.6.21-html是個什麽東西
向人 比較 htm 發送 書寫 文檔 輕量 文件名 這就是 html有兩種意思,html語言和html格式 html語言是一種面向人類的計算機語言,這是啥意思?人類用html這種語言描述出一個網頁的樣子,瀏覽器解析這個語言並展示出來。 html格式是一種文件格式,裏面存儲的
前端學習筆記2017.6.12 CSS控制DIV
banner 成像 個性化 logs 一個 style 切換 back 成了 前一篇文章中用div布局了豆瓣東西的頁面,如果用html代碼表示的話大概是這個樣子的 <!DOCTYPE html><html><head></head
0003-img標簽-前端學習筆記
png wid 學習 圖片 占用 itl style 使用 type <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti
0006-css引入內聯和內部和外聯樣式表-前端學習筆記
col 產業 set 2個 處理 css tex 直接 ont <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css樣式&
0005-階段練習-前端學習筆記
gpo 周傑倫 span spa AR 故事 清醒 htm utf <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t
0010-偽類選擇器-前端學習筆記
put class hover 元素 HA 偽類選擇器 lec selection 鼠標滑過 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
0042-簡單的布局-前端學習筆記
oct idt red com 學習筆記 圖片 20px add itl <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l
Python 全棧 前端學習筆記
charset 絕對路徑 cell aid nav alt+ 播放視頻 -c box https://www.bilibili.com/video/av15241731 筆記來源:黑馬程序員 HTML(Hyper Text Markup Language):超文本標簽
前端學習筆記 1 - 職業入門
圖表 art 網絡 easyui 統計 one cap man mysql 1. Web的發展歷程 Web 1.0 -> 共享 Web 2.0 -> 交互 Web 3.0 -> 聚合 Web 1.0 只讀的互聯網時代 門戶網站為主,大多為靜態頁面(只讀瀏覽
Web前端學習筆記之安裝和使用PhantomJS
0x00 安裝PhantomJS(linux環境安裝) 將PhantomJS下載在/usr/local/src/packet/目錄下(這個看個人喜好) 作業系統:CentOS 7 64-bit 1.下載地址:http://phantomjs.org/download.ht
Web前端學習筆記,詳細的Web前端學習路線圖
3.3 小米 教學視頻 前端工程 武漢 beyond 1.8 之前 1.5 前端就是後臺實現和視覺表現的橋梁,是貫穿在整個產品開發過程的紐帶,起到承上啟下的作用,一個好的前端工程師他能夠很好理解產品經理對用戶體驗的要求,也能夠很好地理解後臺工程師對數據邏輯,或者程序邏輯進行
前端 學習筆記day47 html標籤
1. 格式 <!DOCTYPE html> <html> <head> </head> <body> <h1>hello,xuanxuan</h1> <i
前端學習筆記
true line con .cn 配置文件 UNC all prop 都是 1. npm命令 設置代理,命令或修改配置文件。命令都是直接寫入配置文件的。 npm config set proxy http://proxynj.zte.com.cn npm config e
前端學習筆記 day49 CSS選擇器補充
1.選擇器 其實就是找標籤,為這個標籤設定相應的樣式; 2. 偽選擇器 2.1 未被訪問的連結(a:link{}) VS 已被訪問的連結(a:visited{}) <! DOCTYPE html> <html>
前端學習筆記day01 html5 新增標籤
1. header 標籤; nav標籤; article標籤; section標籤; aside標籤;footer標籤; <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"&
前端學習筆記day02 CSS盒子模型
1. 製作導航欄: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> <
前端學習筆記 day03 盒子模型(二)
1. 搜尋趣圖框的製作 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> &
前端學習筆記day03 水晶球製作(盒子陰影)
1. 水晶球 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> <st
前端學習筆記day03 網頁佈局流程
1. 一列固定寬度且居中 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title>