上一篇: ?
下一篇: ?

960-網(wǎng)格系統(tǒng)

由于一些讀者對于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ā)時間,顯著提高工作效率。當(dāng)然,還有很多人持相反意見,認(rèn)為CSS并沒有這么高級以至于要涉及到框架!我記得在cnBeta上曾經(jīng)有位程序員諷刺道:”這年頭,連CSS都有框架了?!”。今天暴風(fēng)彬彬并不是要向大家介紹什么是CSS框架,也不會介紹各種CSS框架的優(yōu)缺點(diǎn)。只是要講解一下目前在國外很熱門的一個框架,嚴(yán)格講是網(wǎng)格系統(tǒng),那就是960 Grid System。通過這篇教程你會知道使用960框架之后,你的開發(fā)工作會更快的開展。

如果您對其他CSS框架也很感興趣或想了解更多CSS框架,您可以參考《精選15個國外CSS框架》。

960 Grid System 基本原理

首先,你需要學(xué)習(xí)關(guān)于”如何讓框架工作”。你可以通過自己的嘗試來學(xué)習(xí),不過我仍然會在這里為大家進(jìn)行講解,那就開始吧。

不要編輯960.css

先說一點(diǎn)需要注意的:不要編輯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” />

當(dāng)我們調(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” />

Containers(容器)

在960框架中,你可以選擇兩種類名為.container_12 和 .container_16的容器。這兩種容器都是960px的寬度(這就是為什么叫做960 grid),但他們的不同之處是它們包含不同數(shù)量的列。顧名思義,.container_12的容器被分為12列,而 .container_16被分為16列。這兩種960px寬的容器都是水平居中的。

Grids (網(wǎng)格)/ Columns(列)

你可以選擇很多種不同的列寬組合,不過在這兩種容器中是有所不同的。你可以通過打開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)的好處之一就是你不用去計算沒列的寬度到底是多少,省去了很多運(yùn)算。

下面讓我們看看如何編寫四列布局:

<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)有一些不對勁的地方。不過不要緊,那正是我們下一個話題要討論的。

Margins

默認(rè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)

Styling(添加樣式)

事實上,你已經(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)先級高。這樣我們就可以在我們的獨(dú)立CSS文件中以id選擇符創(chuàng)建個性化的樣式了。如果湊巧有的樣式屬性與960相同但值又不同,瀏覽器會優(yōu)先選擇你的CSS文件中的樣式。當(dāng)然,如果您感興趣,也可以看看上面的實例添加樣式后的實際效果。

我們做到了

這是這樣!你已經(jīng)掌握的如何使用960網(wǎng)格系統(tǒng)來創(chuàng)建兼容所有瀏覽器的布局。當(dāng)你完全掌握熟練960系統(tǒng)之后,你會發(fā)現(xiàn)它為你節(jié)省了很多很多編寫CSS的時間。

我想請問你

你在之前是否使用過960網(wǎng)格系統(tǒng)?或其它CSS框架?你是否認(rèn)為CSS框架能夠改善你的代碼?歡迎留下你的觀點(diǎn)

留意更新