首頁 web前端 html教學 使用Sass和Compass组合写CSS_html/css_WEB-ITnose

使用Sass和Compass组合写CSS_html/css_WEB-ITnose

Jun 24, 2016 am 11:22 AM

最近开始在尝试开始使用Sass来写CSS代码,刚开始虽然还是不太习惯用链式的方式写css,不过这是暂时的阶段。

如果你还不了解Sass,可以看之前发表过的文章来了解详情,Sass主要有下面这几种特性(主要内容来自这里)

左邊為原始scss檔,右邊為編譯過後的:
1.Variables 變數
使用$作為開頭當參數

2.Nesting 巢狀結構
很清楚的知道 誰是誰的子元素,不用像以前一樣 寫一大排重復的開頭了

3.Mixins 
其實就像function一樣使用,還可以帶參數

設定預設參數

4.Inheritance 繼承

另外幾個常用的功能

1.@import
可以將網站的各部份樣式拆開成_head.scss, _body.scss, _foot.scss放置在base資料夾下,可利用@import功能把3個檔納入到main.css裡 

只要在main.scss加上
登入後複製

@import "base/head"; @import "base/body"; @import "base/foot";<br />
登入後複製

_head.scss, _body.scss, _foot.scss 這些檔案都不會被編譯成css,記得檔案名稱需以 _ 底線作開頭!
登入後複製

2.算數

3.顏色功能

lighten(red, 50%) //增亮50% darken(blue, 50%) //變暗50%
登入後複製

更多功能參見官方說明

其它筆記!

更換css壓縮樣式

以expanded壓縮方式

sass --watch --style expanded style.scss:style.css
登入後複製

編譯出來的css:

#main { color: #fff;  } #main p { width: 10em; } ...
登入後複製

以compressed壓縮方式

sass --watch --style compressed style.scss:style.css
登入後複製

編譯出來的css:

#main{color:#fff; line-height: 19.5px;"> 
登入後複製

要debug怎麼辨?

1.Firefox裝FireSass for Firebug外掛

2.重新編譯

sass --watch --debug-info style.scss:style.css
登入後複製

#開啟debug模式 (記得要先刪原本編譯出的css)

之後在Firebug裡就可以看見啦

還有線上可以直接測試 http://sass-lang.com/try.html

其實sass/scss只是利於編寫css而產生的一個語言,但今天要寫符合各瀏覽器前綴詞的css,你還是得自已寫@maxin把-moz, -webkit, -o, -ms寫起來,如果遇到要寫css3的gradient呢? 又要可以改參數呢? 那會瘋掉! 因為我寫過,後來就放棄了! 因為有個更強大的Compass來幫忙! 來看看Compass有多厲害!

首先,当然是安装Compass,

gem update --system #先更新 gem gem install compass #安裝Compass 
登入後複製

建立Compass项目

compass creat myproject
登入後複製

預設會產生如上面那些檔,接著可以在config.rb裡作設定css、sass、images等的資料夾設定,再依自已喜好吧! 接著在終端機輸入

compass watch  
登入後複製

此時你就可以開始編輯你的scss檔了,編輯完存檔,compass會馬上編譯css到你設定的資料夾內,一樣可以按command + c 取消。 下次要再編輯就再watch就好

来看看Compass有哪些方便的地方

reset css@import "compass/reset"; 
登入後複製

這樣reset的css就幫你寫好了! 超方便!

常見的css3圓角

@import "compass/css3"; .box{ @include border-radius(5px); } 
登入後複製

 
登入後複製

只要先import "compass/css3", 之後就可以使用所有css3 的內容,如border-radius、box-shadow、gradient…等,使用方式是@include,其實是compass幫你寫好了@mixin,你只要會用就好,而compass厲害的就是會同時幫你產生各個瀏覽器相對應的css,上面那行所產生的結果:

-moz-border-radius: 5px; -webkit-border-radius: 5px;  -o-border-radius: 5px;  -ms-border-radius: 5px; -khtml-border-radius: 5px;  border-radius: 5px;
登入後複製

所有css都幫你產生好了,再也不用全寫了,加上寫這麼多重復的css只會更難閱讀,尤其我非常不愛css屬性重寫再重寫又斷行,搞得打開css檔來,1~2千多行! 維護真的相當累人!加上sass的特性是巢狀結構,讓整個css乾淨清楚不少!

css3漸層

.box{ @include background(linear-gradient(lighten(red, 20%), red)); /*線性漸層*/ }
登入後複製

一行就搞定所有瀏覽器! 其中lighten(red, 20%)是使用sass的加亮顏色功能。

Sprite

我覺得…做Sprite是css designer的痛吧!維護非常費工,還要計算座標,萬一改個圖,就要座標重算!css再寫,而且改一個可能動全身!

哇~ 現在Compass都幫你搞定啦! Compass真是太強大了,三個願望一次滿足! 只要將要合併的圖片放在同一個資料夾下,compass會自動產生另一張合併檔,同時設定好座標。

@import "icons/*.png"; @include all-icons-sprites; //all-後面接著的「icons」代表著是資料夾名稱 .icons-sprite, .icons-facebook, .icons-twitter, .icons-yahoo { background: url('icons-s0859518ac7.png') no-repeat; } .icons-facebook { background-position: 0 0; } .icons-twitter { background-position: 0 -32px; } .icons-yahoo { background-position: 0 -64px; } 
登入後複製

更多compass sprite教學及設定: http://compass-style.org/help/tutorials/spriting/

其它還有更多功能: http://compass-style.org/reference/compass/

debug呢?

output_style = :compressed #css壓縮設定 sass_options = {:debug_info => true} #debug 
登入後複製

  開啟config.rb設定檔,加入上面文字後,重新產生css,Firebug就可以看到該樣式是寫在那一行了,sass debug外掛安裝說明。

Sass & Compass投影片介紹


來看看這份相當詳細又實用的投影片介紹吧!

转自前端开发博客 (http://caibaojian.com/use-sass-compass-write-css.html)

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML容易為初學者學習嗎? HTML容易為初學者學習嗎? Apr 07, 2025 am 12:11 AM

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

了解HTML,CSS和JavaScript:初學者指南 了解HTML,CSS和JavaScript:初學者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML中起始標籤的示例是什麼? HTML中起始標籤的示例是什麼? Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

如何用CSS3和JavaScript實現圖片點擊後周圍圖片散開並放大效果? 如何用CSS3和JavaScript實現圖片點擊後周圍圖片散開並放大效果? Apr 05, 2025 am 06:15 AM

實現圖片點擊後周圍圖片散開並放大效果許多網頁設計中,需要實現一種交互效果:點擊某張圖片,使其周圍的...

網頁批註如何實現Y軸位置的自適應佈局? 網頁批註如何實現Y軸位置的自適應佈局? Apr 04, 2025 pm 11:30 PM

網頁批註功能的Y軸位置自適應算法本文將探討如何實現類似Word文檔的批註功能,特別是如何處理批註之間的間�...

HTML,CSS和JavaScript:Web開發人員的基本工具 HTML,CSS和JavaScript:Web開發人員的基本工具 Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web開發的三大支柱。 1.HTML定義網頁結構,使用標籤如、等。 2.CSS控製網頁樣式,使用選擇器和屬性如color、font-size等。 3.JavaScript實現動態效果和交互,通過事件監聽和DOM操作。

See all articles