CSS,Cascading Style Sheets
串接樣式表,網頁外觀的控制語法

World Wide Web最早是以文件的概念組成,希望透過網頁與超鏈結,讓文件與知識更容易連接援引。從HTML語法大量使用文件概念的標籤(例如代表標題的<H1>,代表段落的<P>),就不難看出WWW的這個特質。

然而WWW比起早期其他網路媒介更迷人的地方,在於它能直接在頁面嵌入並呈現圖片,這個改變讓WWW發展迅速,也讓頁面視覺裝飾大為盛行。但網頁先天的文件性格,讓圖像排版設計難以施展手腳,於是像利用巢狀表格與圖像拼組而成的頁面開始盛行,以求達到精準元素定位與更精美的視覺效果。這個潘朵拉盒子一開,造成了許多失控的亂象,讓頁面原始碼難以閱讀與維護。

為了提高網頁在視覺上可以有更多元的表現,W3C在1996年推出CSS第一版,提供解決之道。不過由於CSS有賴於瀏覽器的支援,因此長久以來CSS的推展情況一直不佳,一直到IE 6、Firefox等主流瀏覽器支援CSS,才漸漸改善。

CSS語法立意讓網頁內容與視覺呈現分離,一方面使得頁面維護工作更容易,不會因內容或視覺效果改變影響到另一方,這樣的頁面設計,也對搜尋引擎更為友善,更容易搜尋到頁面內容。其次,CSS也可以增加頁面在不同媒介的呈現效果。同一份頁面,可依據用途不同,例如在螢幕顯示或列印,而自動切換不同的CSS語法,讓呈現最佳化。也由於讀取頁面的媒介越來越多元(如手機、PDA),CSS可以彈性調整呈現方式,都更加彰顯CSS在網頁上的優勢。文⊙黃天賜

Selector
選取器

要透過CSS為HTML的元素套用樣式效果,首先須指向特定元素,像是標題、段落或超鏈結等,而這個指定的方法,就稱為選取器。

最基本的選取器,是指定HTML標籤元素的名稱,另外還有ID選取器、類別選取器、虛擬類別、子系、旁系等,不過這些CSS的選取方法,每種瀏覽器的支援不一,像IE 6就不支援子系或旁系的選取器。

Divist
濫用DIV標籤的設計人員

事實上,善用CSS串接與繼承的特性,就能創造出精準、豐富的視覺效果。但是並非僅靠CSS,濫用語法的情況就能改善。

過去盛行巢狀表格排版,導致Web原始碼難以閱讀與維護。不過CSS設計人員如不善用串接與繼承,而以大量DIV區塊語法作頁面排版,將使頁面原始碼充斥DIV標籤,這往往和使用巢狀表格一樣,難以閱讀,這種設計人員便稱為「Divist」。CSS並非萬靈丹,須靠設計人員正確運用,才能達到效果。

Quirk Mode
怪癖模式

瀏覽器改版時,通常都會加強對網頁標準語法的支援,不過這也意味著,依照過去瀏覽器特性寫出來的頁面,在呈現上會有問題,為了保持向前相容,瀏覽器通常會設計標準模式與「怪癖」模式,確保一些舊網站能用較寬鬆、容錯率較高的語法解譯方式呈現。

瀏覽器會依網頁宣告的DOCTYPE與DTD,決定頁面呈現將依照標準模式或怪癖模式。

Cascade Rule
串接規則

CSS具備串接的規則和明確度,用來處理樣式衝突的情況。串接規則會依重要性排序,決定採用哪一種樣式。

在串接規則中,重要性最高的是標示有「!import」的使用者樣式,其次是同樣標有「!import」的作者樣式表。

在沒有標「!import」時,作者樣式表的重要性高於使用者。透過重要性規定,瀏覽器就能決定呈現哪一種樣式,而如果重要性一致時,則後出的規則會覆寫較早的規則。

Specificity
明確度

由於CSS具有可串接、繼承的特性,某一個元素有可能被指定不同的樣式。發生這種情況時,瀏覽器就會依明確度來決定呈現那一種樣式。

明確度規定每一種選取器都具有一個計數值,例如ID選取器的明確度是「0,1,0,0」,而類別選取器的明確度是「0,0,1,0」,當某個元素同時套用兩者,而且部分樣式又有衝突時,因為ID選取器的明確度較高,就會以它的值為主。

CSS Hack
CSS小技巧

CSS在瀏覽器支援與實作的方式不同,甚至存在bug,都讓設計人員在跨瀏覽器的頁面設計遇到挑戰。為了解決這些難題而發展出的技巧,便稱為CSS Hack。

例如IE 5在Width這個語法實作,與W3C制定的標準有所不同,造成它與其他瀏覽器會呈現不同的結果。為了解決這個問題,而有所謂「Box Model Hack」的技巧,讓IE 5也能和其他瀏覽器呈現相同的結果。

Pseudo Class
虛擬類別

最常見的虛擬類別是應用在超連結語法上。例如超連結指定連結顏色(a:link)、造訪過顏色(a:visit)、以及滑鼠經過(a:hover)等。

事實上虛擬類別不只能用在超連結上,例如表格或表單輸入欄位等,CSS都能選取並指定多種狀態,但是由於IE 6以前的瀏覽器只支援少數虛擬類別語法,即使最常見的超連結也支援不完整(a:focus便不支援),造成使用的人很有限。

Inheritance
繼承

繼承是CSS在設計上相當具有效率的原則,能精簡設計上的複雜性。例如在「body」選取器指定字型與大小之後,包含在「body」底下的所有元素,都會自動繼承這個樣式,不需要一一為子系的元素再指定樣式。

繼承而來的屬性,也可以透過指定值進行複寫,因此如果區塊需要不同的字型,只需要重新指定新值給這個區塊,就可以採用新字型。透過這種方式,可以大為減少選取器的數量。

float
飄浮,文繞圖

CSS的文繞圖的功能是透過指定「float」屬性值,就能讓區塊「飄浮」起來,並透過指定左、右位置,移到定點。

文繞圖雖然是用在圖、文關係上,不過在設計實務中,更大量應用在版面定位上。另一個常用來定位版本的功能是「position」,它可以精確地用像素指定任意位置。利用「float」或「position」,便可以取代過去透過巢狀表格才能達到的精準定位。


熱門新聞

Advertisement