最近開始學習並且使用,發現使用它寫起css來真的是各種爽
安裝sass,compass
出現上圖情況則為安裝成功
sass的使用及優點
定義變量,數值計算(左邊為scss文件,右邊為編譯之后的css文件)
方便知道誰是誰的子元素,不必寫一大堆重復的標簽
還可以像函數一樣使用,可以傳參數,可以設置默認參數
這還遠遠不夠,如果sass不和compass一起使用,很難體現它功能的強大性
compass的使用
1.官方文檔 http://compass-style.org/help/tutorials/production-css/
2.compass的特性
3.常用功能:
1.@import(合並css文件,實現模塊化)
可以將項目中的各部分樣式拆分成 _head.scss,_body.scss,_foot.scss (注意!要以_開頭,這樣子這些文件便不會被編譯成css文件)
實現效果
使用方法,在main.scss中,加入以下代碼
1 @import "base/head";
2 @import "base/body";
3 @import "base/foot";
執行編譯,即可實現
2.css3兼容性
無需每次都重復寫多個瀏覽器前綴,只需在前面寫上 @include (這里用正常的css3方式寫)
3.合並雪碧圖
說明:CSS雪碧圖是將幾個圖片拼合成一張圖片,以此來減少HTTP請求的方法,並且可以提升網站加載速度
目錄結構如下:share目錄下放未經合並的圖片,在images目錄下的圖片即為合並之后的圖片
使用方法:
在share.scss中輸入以下3行代碼
1 @import "compass/utilities/sprites";
2 @import "share/*.png"; //注意這里的路徑,*表示匹配所有png格式的圖片
3 @include all-share-sprites; //中間的share為存放未合並文件的目錄名字,
再執行編譯即可,效果圖如下,隨便測試的,有點丑嘿嘿
並且,在share.css文件中,還將圖片的位置都計算好了,使用起來非常的方便,如下
出現過的bug:
1 error sass/screen.sccc (c:/Ruby22-x64/lib/ruby/gems/2.2.0/compass-1.0.3/lib/compass/sass_extensions/functions/sprite.rb:137:in 'sprite_does_not_have_parent':undefined 'parent' for nil:NilClass)
解決方法: 圖片名字,不要有數字,中文之類的
4.瀏覽器Normalize.css(解決各種瀏覽器樣式不統一的問題)
(1)說明:Normalize.css
是一種CSS reset
的替代方案。
(2)優點:
(3)官方文檔 https://github.com/ksmandersen/compass-normalize
(4)安裝 gem install compass-normalize
(5)使用方法
compass create <my_project> -r compass-normalize --using compass-normalize
正常情況下是選擇需要的模塊,單獨引入,防止代碼冗余,如下
1 @import 'normalize/html5';
2 @import 'normalize/base';
3 @import 'normalize/links';
4 @import 'normalize/typography';
5 @import 'normalize/embeds';
6 @import 'normalize/groups';
7 @import 'normalize/forms';
8 @import 'normalize/tables';
scss編譯,compass編譯
說了這么多,還差編譯
1.使用可視化工具編譯 例如:koala (實時編譯,可壓縮,支持多語言,使用簡單)
下載地址,點擊下載
2.使用命令行
創建一個工程 compass create myproject 點擊進入創建的目錄,出現以下3個文件
編譯 compass compile (在項目根目錄下使用,將sass目錄中的文件編譯成css,css的路徑為在config.rb配置的css-dir)
常用命令行如下
3.使用前端自動化工具 gulp
(接下來會寫一篇gulp的文章,未完待續)
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。