由于一些讀者對于960 Grid System CSS Framework的原理和使用方法比較感興趣,暴風(fēng)彬彬今天將和大家一同分享這篇關(guān)于960 grid CSS Framework的基本原理和簡單的使用方法。
關(guān)于CSS框架其實一直是一個比較熱門且很有爭議的話題,的確,國內(nèi)的一些前端er們越來越關(guān)注CSS框架,并都開始嘗試使用,覺得CSS框架能夠節(jié)省更多的開發(fā)時間,顯著提高工作效率。當然,還有很多人持相反意見,認為CSS并沒有這么高級以至于要涉及到框架!我記得在cnBeta上曾經(jīng)有位程序員諷刺道:”這年頭,連CSS都有框架了?!”。今天暴風(fēng)彬彬并不是要向大家介紹什么是CSS框架,也不會介紹各種CSS框架的優(yōu)缺點。只是要講解一下目前在國外很熱門的一個框架,嚴格講是網(wǎng)格系統(tǒng),那就是960 Grid System。通過這篇教程你會知道使用960框架之后,你的開發(fā)工作會更快的開展。
如果您對其他CSS框架也很感興趣或想了解更多CSS框架,您可以參考《精選15個國外CSS框架》。
首先,你需要學(xué)習(xí)關(guān)于”如何讓框架工作”。你可以通過自己的嘗試來學(xué)習(xí),不過我仍然會在這里為大家進行講解,那就開始吧。
不要編輯960.css
先說一點需要注意的:不要編輯960.css文件,如果你修改了它,那么你今后將無法更新這個框架。
讀取網(wǎng)格
在我們使用外部文件中的CSS代碼之前,首先要在我們的HTML文件中調(diào)用它們。像這樣調(diào)用:
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/reset.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/960.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/text.css” />
當我們調(diào)用好它們以后,我們要調(diào)用自己的CSS文件了。例如,你也許會將你的CSS文件命名為style.css或site.css或者其它什么的。這樣調(diào)用它:
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/style.css” />
在960框架中,你可以選擇兩種類名為.container_12 和 .container_16的容器。這兩種容器都是960px的寬度(這就是為什么叫做960 grid),但他們的不同之處是它們包含不同數(shù)量的列。顧名思義,.container_12的容器被分為12列,而 .container_16被分為16列。這兩種960px寬的容器都是水平居中的。
你可以選擇很多種不同的列寬組合,不過在這兩種容器中是有所不同的。你可以通過打開960.css來了解這些寬度,但這對于設(shè)計一個網(wǎng)站并沒有什么必要。在這里暴風(fēng)彬彬?qū)⒁粋€很有用的技巧讓你使用框架更加容易。
例如:如果你想在你的容器中僅使用兩列(分別是主內(nèi)容區(qū)/側(cè)邊欄),你可以這樣做:
<div class=”container_12″>
<div class=”grid_4″>sidebar</div>
<div class=”grid_8″>main content</div>
</div>
看到上面的代碼你也許已經(jīng)明白,不過我還是要講一下。也就是說你在container_12這個容器中使用了grid_4和grid_8兩列,4+8恰好等于12!明白了嗎?使用網(wǎng)格系統(tǒng)的好處之一就是你不用去計算沒列的寬度到底是多少,省去了很多運算。
下面讓我們看看如何編寫四列布局:
<div class=”container_12″>
<div class=”grid_2″>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2″>advertisement</div>
</div>
正如你看到的,這個系統(tǒng)工作得很好。如果你嘗試使用你的瀏覽器讀取他的話,你會發(fā)現(xiàn)有一些不對勁的地方。不過不要緊,那正是我們下一個話題要討論的。
默認情況下,每列之間都會存在一些margin。每個grid_(這里插入數(shù)值)類都有10px的左margin和右margin。也就是說兩列之間的margin值是20px。
20px的margin能讓布局保持應(yīng)有的留白并看上去更平滑,這也是我喜歡960 grid System的原因之一。
在上面的例子中,我們將它使用瀏覽器讀取時出現(xiàn)了一些問題,現(xiàn)在我們來修復(fù)它。
問題在于每個列都包含左margin和右margin,但是最左面的列不應(yīng)該有左margin,最右面的列不應(yīng)該有右margin。(夠羅嗦!)下面是解決方法:
<div class=”container_12″>
<div class=”grid_2 alpha”>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2 omega”>advertisement</div>
</div>
你僅需添加alpha類來去除左margin,添加omega類去除右margin。好了,現(xiàn)在我們的布局已經(jīng)可以完美在瀏覽器中對齊了。(是的,包括IE6)
事實上,你已經(jīng)掌握了如何使用960框架創(chuàng)建基本的網(wǎng)格布局了。不過你也許還想為自己的布局添加一些樣式。
<div class=”container_12″>
<div id=”sidebar” class=”grid_2 alpha”>sidebar</div>
<div id=”content” class=”grid_6″>main content</div>
<div id=”photos” class=”grid_2″>photo’s</div>
<div id=”advertisements” class=”grid_2 omega”>advertisement</div>
</div>
由于CSS使用優(yōu)先級的形式來覺得如何解釋樣式,而id要比class的優(yōu)先級高。這樣我們就可以在我們的獨立CSS文件中以id選擇符創(chuàng)建個性化的樣式了。如果湊巧有的樣式屬性與960相同但值又不同,瀏覽器會優(yōu)先選擇你的CSS文件中的樣式。當然,如果您感興趣,也可以看看上面的實例添加樣式后的實際效果。
這是這樣!你已經(jīng)掌握的如何使用960網(wǎng)格系統(tǒng)來創(chuàng)建兼容所有瀏覽器的布局。當你完全掌握熟練960系統(tǒng)之后,你會發(fā)現(xiàn)它為你節(jié)省了很多很多編寫CSS的時間。
你在之前是否使用過960網(wǎng)格系統(tǒng)?或其它CSS框架?你是否認為CSS框架能夠改善你的代碼?歡迎留下你的觀點。