5步減少你的CSS樣式表

第一步:學會如何組合選擇器

什麼是選擇器?
若是你還不知道什麼叫作」選擇器」,你能夠先參考一下w3schools.com的CSS語法概述php

未優化的CSS代碼
在下面的圖例中,你會看到來自三個不一樣選擇器的一樣的CSS屬性聲明。css

css-壓縮-教程
點擊小圖瀏覽清晰大圖html

優化的CSS代碼
你能夠將上面的css代碼優化組合,讓全部CSS選擇器使用同一組屬性。每一個選擇器之間用逗號分割開,像下面這樣。web

h2, p, .block {
    font-size1.5em;
    padding10px 10px 10px 25px;
    margin10px 0;
    border1px solid #ddd;
    background#f0f0f0 url(crown.gifno-repeat 5px 10px;
}

第二步:瞭解CSS選擇器優先級

什麼是CSS優先級?
選擇器優先級是用於在CSS代碼中同一個選擇器使用不一樣屬性時CSS優選處理哪些屬性的規則。對選擇器優先級不瞭解的話能夠參考:Juicy Studio –選擇器優先級ide

未優化的CSS代碼
理解優先級規則中不一樣等級重要性是很必要的,若是寫了一樣優先級的CSS聲明將有可能致使代碼衝突和代碼臃腫。優化

css-優先級
點擊小圖瀏覽清晰大圖網站

查看Demo實例ui

優化的CSS代碼
當你徹底掌握CSS選擇器優先級以後,你便能經過合併統一的屬性聲明來所見代碼量,而後再單獨聲明元素的獨有屬性。你會很快找到優化CSS代碼的技巧,對完成合並和匹配代碼。下面是關於優化上圖代碼的實例:url

h2 {
    font-size1.5em;
    padding10px 10px 10px 25px;
    margin10px 0;
    border1px solid #ddd;
    background#f0f0f0 no-repeat 5px 10px;
}

h2.best {background-imageurl(crown.gif);}
h2.fav {background-imageurl(heart.gif);}
h2.comments {background-imageurl(balloon.gif);}
h2.twitter {background-imageurl(balloon_twitter.gif);}

#featured h2.twitter {
    background-color#fffdd7;
    border1px solid #ddd991;
}

你還能夠參考如下相關文章:spa

第三步:學會如何合併類和ID

和以前相似,你也能夠經過匹配合並class名和id值來優化你的CSS代碼。請記住,爲同一個元素添加不一樣的多個class,你就能夠經過組合不一樣的屬性聲明在實現你但願的效果。在適當的位置添加id屬性也是可讓你對樣式有更多的控制權。

HTML

<div id="featured">
    <h2 class="best double">Best of</h2>
    <h2 class="fav double">Popular Posts</h2>
</div>
<div id="disable">
    <h2 class="comments double">Comments</h2>
    <h2 class="twitter double">Twitter</h2>
</div>

CSS

...

h2.best {background-imageurl(crown.gif);}
h2.fav {background-imageurl(heart.gif);}
h2.comments {background-imageurl(balloon.gif);}
h2.twitter {background-imageurl(balloon_twitter.gif);}
h2.tools {background-imageurl(wrench_screwdriver.gif);}

h2.double {
    width263px;
    floatleft;
    margin0;
}
#featured h2.double {
    background-color#ffe2e2;
}
#disable h2 {
    filter:alpha(opacity=40);
    opacity:.40;
    -ms-filter"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
    background-color#d5d5d5;
}

第四步:學會CSS簡寫

CSS簡寫可讓你將多行的CSS屬性聲明縮寫成簡單的一行代碼。如今你在不少地方均可以找到CSS縮寫的相關教程,你也能夠瀏覽如下CSS縮寫教程:

第五步:將你的樣式表分紅幾部分–@import

在你完成一個比較大的網站項目時,你的樣式表中的代碼量是至關龐大的,也許會有不少不一樣模塊的CSS聲明及註釋。這種狀況下,你能夠考慮使用將一個龐大的樣式表切割成幾個不一樣模塊的小樣式表,而後再用@import將他們組合起來。

HTML
你能夠像日常同樣調用一個樣式表

<link rel="stylesheet" type="text/css" href="styles.css" />

CSS – styles.css
這時styles.css做爲你的主樣式表,它將負責調用其它子樣式表。(我會把子樣式表放在’styles’ 目錄下以便於組織管理,純屬我的習慣,你也能夠有本身的習慣)

@import "styles/main.css";
@import "styles/checkout.css";
@import "styles/shoppingcart.css";

譯者注:@import雖然可以爲某個大的CSS文件減肥,可是它在頁面讀取方面(尤爲IE)仍是有弊端的。感興趣的讀者能夠看看這篇文章:
《Don’t Use @import》

你還能夠參考如下相關文章:

相關文章
相關標籤/搜索