SlideShare a Scribd company logo
Sass & Compass
成智遠 Mike
√某某血汗工廠 專業打雜
Sass ? Compass?
這樣比較容易了解吧
我為什麼用sass?
1. 在上千行css中不斷的尋找要修改的地方!
2. 一直在複製貼上同樣的css,只為了class名稱不一樣!
3. 寫css3要一直加前綴字!
4. 一直在看密密麻麻的css好像在玩「威利在哪裡?」
5. css越寫越無聊!
6. 還有很多只是不想繼續說下去……..
老成的Sass&Compass
Sass是以巢狀結構來撰寫css,其實就是可以省略重複的字串然後寫css
sass css
Sass其實分成兩種格式
Sass? Scss?
sass scss
簡單說就是一個有花括號、分號(scss),一個沒有(sass)
scss 對於會寫 css 的人來說,比較容易上手,接下來就都以scss作為範例
但是瀏覽器並不認識Sass
Sass css
Sass
compiler
Sass特性
• 巢狀結構
• 變數
• 運算式(+ , - , * , / , %)
• number函式
• Function函式(@mixin,@include)
• 判斷式(@if,@else if)
• 迴圈(@for,@while,@each)
• 繼承(@extend)
• 載入(@import)
• 太多功能了,等等直接看範例啦!!!
註解
• 單行註解
//這是一行註解,不會編譯結果出現
• 多行註解
/* 這是很多行
用的註解 */
老成的Sass&Compass
馬上來看sass強大的地方
變數
像是在寫php一樣前面使用 $ 字號作為宣告變數的開頭
利用變數來管理參數。
&選擇符
往上一層走,最常用在:hover或是 css 選取器
運算式 支援數字的標準算術運算(+、-、*、/、%), 而且會
盡可能地自動在單位間換算
還是有小地方要注意
有四種狀況下 / 除法才會成立:
1.當其中一方是變數時。
2.數值被括號包住。
3.數值被用在另一個算數式中的一部分。
4.雙方都是變數時
• percentage() //百分比
• round() //四捨五入
• ceil() //無條件進位
• floor() //無條件捨去
• abs() //絕對值
Number函式
老成的Sass&Compass
比較特殊的⋯⋯
• 文字組合
• 顏色計算
只是我覺得沒啥用所以還是跳過吧,知道有就好
注意!
@mixin( function函式 )
這招很重要!相信我!
@mixin將重複使用的部份獨立成為區塊
這樣可以大量減少重複的css
@mixin 裡面可以帶參數,跟function函式一樣用法
還可以給予變數預設值
接下來就是稍微有邏輯的部分
判斷式(@if,@else if)
迴圈(@for,@while,@each)
@for 透過#{ }的方式將字串與變數串接起來
@while
@each
繼承(@extend)
當多數class需要共用某支css,又要可以增加屬於自己的css
時,就需要用到@extend
載入(@import)
->
載入外部其他sass或是變數等檔案,整合分散的sass
test01.scss main.scss main.css
@import “test01.scss”
前面加底線的sass在compiler時候並不會產生實體的檔案
只有在@import時會進行合併
加底線的sass檔案compiler時候並不會產生
實體的檔案
紅色是有加底線
藍色是沒有加底線
看到這裡是不是覺得很方便!
看到這裡是不是覺得很方便!
中場休息 10 分鐘!
config.rb相關設定
當新增一個專案時,會自動產生1個檔案2個資料
夾,這是系統自動幫你產生好的,我們要看到就
是config.rb。
老成的Sass&Compass
簡單來介紹config.rb 設定:
1. http_path 指的是根目錄位置。
2. css_dir 指的是你css的路徑。
3. sass_dir 指的是你sass的路徑。
4. images_dir 指的是你圖片的路徑。
5. javascripts_dir 指的是你javascript的路徑。
Encoding.default_external = "UTF-8"
指定編碼為UTF-8,不然SASS寫到中文會變亂碼
output_style 意思則是指你的編譯出來的CSS要用哪種方式呈現出來。
編譯共有下述四種方式:
1. expanded = 一般,每行CSS皆會斷行。
2. nested = 有整理過,易閱讀。
3. compact = 匯出來的CSS檔案大小比上面兩個還小。
4. compressed = 壓縮CSS,將所有的CSS都以一行來排列。
line_comments = false 關閉Sass編譯出來的註解!
接下來就是重頭戲了
老成的Sass&Compass
Compass是一個sass的擴充套件,簡單的說是很多功能都
幫你寫好了,再加一些常用的功能,並簡化了寫法,讓你加
快寫Sass速度。
就像這樣!!!
Compass超好用功能之一
• Compass&css3 超好用前綴字處理
只要@import “compass/css3”
就使用@include 方式就可以自動幫你產生前綴字
Compass超好用功能之二
• 內建reset
只要@import “compass/ reset.scss”
Compass超好用功能之三
• 一邊挖鼻屎也可以快速做出 CSS Image Sprites ( 只支援png )
• @import “compass/utilities/sprites”; //先import
• $icon-layout : horizontal; //產出的圖片是直得還橫的,直的不用寫
• $icon-spacing : 10px; //每張圖片的間距距離多少px
• @import “icon/*.png”; //選擇圖片路徑
• @include all-icon-sprites(true); //產生圖片
老成的Sass&Compass
images/icon 路徑下所有的png
最後自動合併一張
Compass還有其他功能但因為不常用就不介紹
了,有興趣的朋友在上網去問google大神吧!
老成的Sass&Compass
Sass專案的規畫
剛開始學習SASS覺得超興奮,馬上用在專案上
等等!!!好像哪裡怪怪
的……
不要把所有的東西全部寫在同一支檔案
將sass有規則性的拆開來分開管理
來看看國外大神是怎麼管理它的sass文件的
簡單的拆法
1. _mixin.scss = 放置全部的變數與Mixin函式
2. _reset.scss = reset.css
3. _extnd.scss = 拿來合併樣式,都放@extend用的檔案
4. _layout.scss = 共用的設定。
5. _color.scss = 網站主要的顏色色系。
6. _hender.scss = hender 。
7. _content.scss = content。
8. _footer.scss = footer。
9. index.scss = 彙整上面所有的scss
index.scss =
SASS最後會全部合併成一支CSS
要維護時在回SASS去找!
環境安裝
Sass是在ruby底下的環境進行開發,所以windows要先安裝好ruby
mac本身就有安裝所以不用裝ruby
老成的Sass&Compass
windows7安裝ruby需要安裝2.0以下版本
2.0版本在windows7會有無法預期的錯誤。
然後開啟命令提式字元
然後輸入gem install compass
//安裝compass也會順便裝sass,所以我就裝compass就好
開始建立第一個sass專案
先指定路徑到你要放專案的地方
再輸入 compass create ‘專案名字’
老成的Sass&Compass
先指定路徑到你的專案資料夾
再輸入 compass watch
Sass compiler 將sass轉換成css
其他Sass compiler的工具
老成的Sass&Compass
開發工具介紹
老成的Sass&Compass
Sublime Text 3 sass開發套件
1. SASS
2. SCSS
3. ConvertToUTF8
4. Emmet
5. SassBeautify
6. HTML-CSS-JS Prettify
7. BreaketHighlighter
8. ColorHighlighter
Q&A時間
參考資料
1. http://ilandy-chiu-blog.logdown.com/posts/188205-mac-install-sass
2. https://github.com/hlb/sass-doc-zh/blob/master/SASS_REFERENCE_ZH_TW.md
3. http://frontend.inow.tw/sass2/#/
4. http://www.slideshare.net/kurotanshi/compass-sass
5. http://peiwen.lu/how-to-structure-a-sass-project/
6. http://mvcss.ycnets.com/styleguide/
7. http://sam0512.blogspot.tw/2013/10/sass.html
謝謝各位!

More Related Content

PPTX
從CSS到SASS的開發旅程
PDF
CSS preprocessor 介紹,與 SASS 入門分享
PDF
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
PDF
Vertical rhythm
PDF
現代化網頁基礎排版技術
PDF
高雄前端社群 #3 SASS workshop
PDF
如何逐步提升CSS的可利用性、模組化
PPTX
SASS 让你更爽的 编写CSS
從CSS到SASS的開發旅程
CSS preprocessor 介紹,與 SASS 入門分享
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
Vertical rhythm
現代化網頁基礎排版技術
高雄前端社群 #3 SASS workshop
如何逐步提升CSS的可利用性、模組化
SASS 让你更爽的 编写CSS

What's hot (8)

PDF
高雄前端社群 #4 psdtohtml workshop
PDF
自從學會Sass / Compass後,考試都考100分!
PPTX
CSS 分享 (2) CSS 基本概念與語法
PPT
教網部落格模版設計
PPTX
Jass in coserv
PPTX
SASS入門實作
PPT
Css布局
高雄前端社群 #4 psdtohtml workshop
自從學會Sass / Compass後,考試都考100分!
CSS 分享 (2) CSS 基本概念與語法
教網部落格模版設計
Jass in coserv
SASS入門實作
Css布局
Ad

Viewers also liked (20)

PPTX
老成之CreateJS與Flash
PPTX
Three.js 一場從2D變成3D的冒險
PPTX
老成的專案管理以及經驗分享
PPTX
React基礎教學
PDF
Stylesheet Wrangling with SCSS
PDF
Turbo theming: Introduction to Sass & Compass
PDF
Front End Badassery with Sass
PDF
Theming and Sass
PPTX
只需要懂Jquery也能學react js
PDF
Frontend-Entwicklung mit SASS & Compass
PDF
Preprocessor presentation
PDF
Performance front end language
PDF
Getting Started with Sass & Compass
PDF
Sass(SCSS)について
PDF
Save time by using SASS/SCSS
PPTX
Introduction to SASS
PPT
Learn Sass and Compass quick
PDF
Sass and compass workshop
DOCX
Horario de clases segundo grado
PPTX
老成之CreateJS與Flash
Three.js 一場從2D變成3D的冒險
老成的專案管理以及經驗分享
React基礎教學
Stylesheet Wrangling with SCSS
Turbo theming: Introduction to Sass & Compass
Front End Badassery with Sass
Theming and Sass
只需要懂Jquery也能學react js
Frontend-Entwicklung mit SASS & Compass
Preprocessor presentation
Performance front end language
Getting Started with Sass & Compass
Sass(SCSS)について
Save time by using SASS/SCSS
Introduction to SASS
Learn Sass and Compass quick
Sass and compass workshop
Horario de clases segundo grado
Ad

Recently uploaded (10)

PPTX
开房记录|开房记录【官网cha78.com】开房记录|开房记录【官网cha78.com】
PPTX
开房记录查询|开房记录查询【官网cha78.com】开房记录查询|开房记录查询【官网cha78.com】
PPTX
不免費社工庫|不免費社工庫【官网cha78.com】不免費社工庫|不免費社工庫【官网cha78.com】
PPTX
iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材
PPTX
身份证查酒店记录|身份证查酒店记录【官网cha78.com】身份证查酒店记录|身份证查酒店记录【官网cha78.com】
PPTX
社工库查询系统|社工库查询系统【官网cha78.com】社工库查询系统|社工库查询系统【官网cha78.com】
PPTX
身份证大轨迹|身份证大轨迹【官网cha78.com】身份证大轨迹|身份证大轨迹【官网cha78.com】
PPTX
同住记录|同住记录【官网cha78.com】同住记录|同住记录【官网cha78.com】
PPTX
查询酒店入住记录|查询酒店入住记录【官网cha78.com】查询酒店入住记录|查询酒店入住记录【官网cha78.com】
PPTX
社工库查询在线|社工库查询在线【官网cha78.com】社工库查询在线|社工库查询在线【官网cha78.com】
开房记录|开房记录【官网cha78.com】开房记录|开房记录【官网cha78.com】
开房记录查询|开房记录查询【官网cha78.com】开房记录查询|开房记录查询【官网cha78.com】
不免費社工庫|不免費社工庫【官网cha78.com】不免費社工庫|不免費社工庫【官网cha78.com】
iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材iPAS淨零碳規劃管理師教材
身份证查酒店记录|身份证查酒店记录【官网cha78.com】身份证查酒店记录|身份证查酒店记录【官网cha78.com】
社工库查询系统|社工库查询系统【官网cha78.com】社工库查询系统|社工库查询系统【官网cha78.com】
身份证大轨迹|身份证大轨迹【官网cha78.com】身份证大轨迹|身份证大轨迹【官网cha78.com】
同住记录|同住记录【官网cha78.com】同住记录|同住记录【官网cha78.com】
查询酒店入住记录|查询酒店入住记录【官网cha78.com】查询酒店入住记录|查询酒店入住记录【官网cha78.com】
社工库查询在线|社工库查询在线【官网cha78.com】社工库查询在线|社工库查询在线【官网cha78.com】

老成的Sass&Compass