使用 Emmet 提升編寫 CSS 的效率

前面 潛行者m 介紹了 Emmet 的功能如何使用 Emmet 來生成 HTML 代碼,此次再來說解一下如何使用 Emmet 提升 CSS 編寫效率。php

首先,Sublime Text 2 已經提供了比較強大的 CSS 樣式所寫方法來提升 CSS 編寫效率。例如編寫 position: absolute; 這一個屬性,咱們只須要輸入 posa 這四個字母便可。它會彈出縮寫樣式的提示:css

Sublime text 2 快速生成 CSS 代碼

你不妨在編寫 CSS 的時候,留意一下 ST2 提供了哪些屬性的縮寫方法,這樣就能夠提升必定的效率了。可是 Emmet 提供了更多的功能,請往下看。web

簡寫屬性和屬性值

若是你想生成 width:100px; 你只須要輸入 w100 就能夠了,由於 Emmet 的默認設置 w 是 width 的縮寫,後面緊跟的數字就是屬性值。默認的屬性值單位是 px ,你能夠在值的後面緊跟字符生成單位,能夠是任意字符。例如,w100foo 會生成 width:100foo; 這樣一條語句。你一樣也能夠簡寫屬性單位,若是你緊跟屬性值後面的字符是 p ,那麼將會生成 width:100%; 這樣的語句,其中 p 表示百分比單位。與此相似的還有:e → em; x → ex。c#

例如 margin 這樣的屬性,可能並非一個屬性值,生成多個屬性值須要用橫槓(-)鏈接兩個屬性值,由於 Emmet 的指令中是不容許空格的。例如使用 m10-20 這條命令能夠生成 margin: 10px 20px; 這樣一條語句。若是你想生成負值,多加一條橫槓便可。須要注意的是,若是你對每一個屬性都指定了單位,那麼不須要使用橫槓分割。例如使用 m10ff20ff 這條命令能夠生成 margin: 10ff 20ff; 這條語句,若是你在 20ff 前面加了橫槓的話,20ff 就會變成負值了。瀏覽器

若是你想一次生成多條語句,可使用 ‘+’ 鏈接兩條語句,例如使用 h10p+m5e 能夠生成 height: 10%;margin: 5em; 這兩條語句。svg

顏色值也是能夠快速生成的,例如 c#3color: #333;,更復雜一點的,使用 bd5#0s 能夠生成 border: 5px #000 solid; 這樣一句。下面是規則:測試

#1 → #111111
#e0 → #e0e0e0
#fc0 → #ffcc00

生成 !important 這條語句也固然很簡單,只須要一個 ‘!’ 就能夠了。url

增長額外的選項

使用 @f 便可生成 CSS3 中的 font-face 的代碼結構:spa

@font-face {font-family:;src:url();}

可是這個結構太簡單,不包含一些其餘的 font-face 的屬性,諸如 background-image、 border-radius、 font、@font-face、 text-outline、 text-shadow 等屬性,咱們能夠在生成的時候輸入 ‘+’ 生成加強的結構,例如咱們能夠輸入 @f+ 命令,便可輸出選項加強版的 font-face 結構:.net

@font-face {
 font-family: 'FontName';
 src: url('FileName.eot');
 src: url('FileName.eot?#iefix') format('embedded-opentype'), url('FileName.woff') format('woff'), url('FileName.ttf') format('truetype'), url('FileName.svg#FontName') format('svg');
 font-style: normal;
 font-weight: normal;}

增長實驗性前綴(Vendor Prefixes)

CSS3 等如今尚未出正式的 W3C 規範,可是不少瀏覽器已經實現了對應的功能,僅做爲測試只用,因此在屬性前面加上本身獨特的實驗性前綴,不一樣的瀏覽器只會識別帶有本身規定前綴的樣式。然 而爲了實現兼容性,咱們不得不編寫大量的冗餘代碼,並且要加上對應的前綴。使用 Emmet 能夠快速生成帶有前綴的 CSS3 屬性。

ST2 已經內置了一些常見的須要實驗性前綴的 CSS3 屬性,例如輸入 trf 會彈出提示,而後敲擊回車鍵便可生成。而 Emmet 加強了這個功能。在任意字符前面加上一條橫槓(-),便可生成該屬性的帶前綴代碼,例如輸入 -foo-css,會生成:

-webkit-foo-css: ;-moz-foo-css: ;-ms-foo-css: ;-o-foo-css: ;foo-css: ;

雖然 foo-css 並非什麼屬性,可是照樣能夠生成。此外,你還能夠詳細的控制具體生成哪幾個瀏覽器前綴或者前後順序,使用 -wm-trf 便可生成:

-webkit-transform: ;-moz-transform: ;transform: ;

可想而知,w 就是 webkit 前綴的縮寫,m 是 moz 前綴縮寫,s 是 ms 前綴縮寫,o 就是 opera 瀏覽器前綴的縮寫。若是使用 -osmw-abc 便可生成:

-o-abc: ;-ms-abc: ;-moz-abc: ;-webkit-abc: ;abc: ;

生成漸變背景

CSS3 中新增長了一條屬性 linear-gradient 使用這個屬性能夠直接製做出漸變的效果。可是這個屬性的參數比較複雜,並且須要添加實驗性前綴,無疑須要生成大量代碼。而在 Emmet 中使用 lg() 指令便可快速生成,例如:使用 lg(left, #fff 50%, #000) 能夠直接生成:

background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, #fff), to(#000));background-image: -webkit-linear-gradient(left, #fff 50%, #000);background-image: -moz-linear-gradient(left, #fff 50%, #000);background-image: -o-linear-gradient(left, #fff 50%, #000);background-image: linear-gradient(left, #fff 50%, #000);

直接幫你生成好了瀏覽器前綴。

Emmet 的還有一些其餘的強大功能,將在後面繼續講解介紹,盡請關注。

相關文章
相關標籤/搜索