站長俱樂部:站长论坛


返回   站長俱樂部:站长论坛 > 架設網站區 > 網站架設和網頁設計 > 一般網頁設計與語法

回覆
 
主題工具 顯示模式
  #1  
舊 2006-02-19, 04:59 AM
东方卫士 的頭像
东方卫士 东方卫士 目前離線
普通會員
 
註冊日期: 2005-12-27
文章: 95
預設 為什麼要使用 CSS?

作者: Greg Rewis 是 Macromedia Web 技術最主要的宣傳者。

自從 Dreamweaver MX 2004 發布以來,我曾經無數次向 Dreamweaver 的新老用戶演示它的新特征和新功能。每次進行產品演示,我很快就會極力稱贊 Dreamweaver MX 2004 設計和呈現 CSS(或層疊樣式表)的新功能。

然而最近某位新用戶問了一個問題,說實話,這個問題一下子讓我張口結舌。這位用戶只是問:“我為什麼要使用 CSS?”當時我意識到,盡管我們這些每天與 HTML 和 CSS 打交道的人非常了解 CSS 的優點,但仍有很多人並不了解。或者說並不完全了解 CSS 所能提供的所有優點。本文是我對上面那位新用戶的書面回答。


CSS 起源
回顧 CSS 的優點之前,我要先介紹一下它的曆史。Web 管理組織 W3C 在 1996 年 11 月推薦使用 CSS,並批准了 CSS 1 級規范。CSS 1 級規范說明了用於 HTML 頁面的屬性。這些屬性代替了傳統的字體標簽和其他“樣式”標記,例如顏色和邊距。1998 年 5 月,W3C 批准了 CSS 2 級規范,將一些附加功能添加到 1 級規范,並引進了定位屬性。這些屬性代替了表格標簽普遍(但是錯誤)的用法,用來設計頁面元素的表示。CSS 規范的最新版本是 CSS 2.1,它改進了某些屬性,並刪除了在當前瀏覽器裏沒有作用或作用很小的屬性。

不幸的是,就像很多新技術一樣,CSS 經曆了漫長的過程才被廣泛采納。其中的重要原因在於瀏覽器,以及為這些瀏覽器建立站點的 Web 設計者們。CSS 批准期間,Netscape Navigator (NN) 仍然是主導瀏覽器,而該瀏覽器基本上不支持 CSS。Microsoft 在其第 3 版瀏覽器中添加了對 CSS 非常有限的支持,但當時大多數的 Web 設計者(本人在內)仍然將 NN 作為首選平台進行頁面編碼。

很多年來,每發行一個新版本,瀏覽器制作者們都擴展了對 CSS 的支持。今天,Internet Explorer 6、Netscape Navigator 7、Mozilla、Opera 和 Safari 都全面支持 CSS。但這並不意味著我們作為 Web 設計者和開發者的生涯不存在問題。盡管上述所有瀏覽器都支持 CSS Level 2,它們的兼容程度仍然各不相同。而且在某些情況下,特定屬性仍然會帶給你很多麻煩。也就是說,您仍然需要遵守老的信條“測試再測試”。但如果您堅持使用 CSS 規范的核心屬性,您將能夠正確地呈現頁面。

但是為什麼 W3C 認為需要創建 CSS 規范呢?當我創建基於 HTML 的 Web 站點和應用程序時,這一切對我又意味著什麼呢?我認為,我們需要使用 CSS 的理由以及它帶來的優勢可以分為以下三個主要方面:靈活性、呈現性和可訪問性

靈活性
我確定幾乎每個 Web 設計者和開發者都經曆過這樣的痛苦時刻:當您小心地布置好頁面,完成所有嵌套的表格後,客戶要求進行一點“小小的”更改。這小小的更改可能只是“能不能把那個圖形稍稍往左移動一點?”,也可能非常富有戲劇性:“我不喜歡這些標題,能把它們的字體弄大一點嗎?改字體的時候,順便把顏色也改了,怎麼樣?”如果只需要處理有限的幾個頁面,您可以深吸一口氣,花上大半個小時做那些讓人惱火的改動。但如果涉及到較大的站點(而這已經很常見),一個簡單的更改無論如何也簡單不了。

這樣的情形為什麼會如此痛苦呢?因為定義頁面外觀的標記本身就是頁面的一部分。要看到實例,您只需到任何站點的任何頁面上去數一下 font 和 table 標簽的數量。只要您能夠從實際頁面的流程(或代碼)中刪除這些標記,或者采用更好的辦法,即將其外置,您就可以進行集中更改。而這就是 CSS 所能做的。

如果使用一個或多個外部樣式表,通過修改樣式表然後將修改後的版本上載,您就可以將更改應用到站點。

想象一下,在傳統的基於表格的布局中,將站點瀏覽從頁面左側移到頁面右側將有多麼困難。這需要幾個小時重複而乏味的工作。但是,如果您選擇使用 CSS 的定位屬性(通常稱作 CSS-P)來設計頁面,只需更改外部樣式表中的“浮動”或“位置”屬性,即可更新頁面。而且還有以下附加優勢:您更新了站點中使用該樣式的所有頁面。

呈現性
由於寬帶的廣泛使用,很多開發者已經不再考慮在瀏覽器中呈現頁面所花費的時間。但是,你們應該記住,很多目標用戶仍然在使用撥號連接。傳統的基於表格的布局是頁面下載速度慢的主要原因。因為瀏覽器從服務器接收頁面時,必須首先檢查並“理解”一系列複雜的鑲嵌式表格。它必須先找到鑲嵌在最裏面的內容,然後小心地逐步處理代碼,直至到達最外層的容器,即 body 標簽。完成以上所有過程後,瀏覽器才能開始在屏幕上呈現內容。

如果使用 CSS,瀏覽器從服務器接收內容後,立刻就可以開始呈現過程,因為頁面中沒有或只有很少的顯示標記。

使用外部樣式表還有一個潛在的呈現方面的好處。在傳統的基於表格的方法中,瀏覽器必須檢索、分析並單獨呈現每個頁面。也就是說,瀏覽器在您的站點上顯示第 30 頁時耗費的工作和顯示第 1 頁時一樣多。

但是,如果使用外部樣式表進行顯示,站點的第一頁將提示瀏覽器將頁面使用的已鏈接樣式表文件緩存起來。這意味著站點中所有使用上述樣式表的後繼頁面下載速度會更快,因為瀏覽器已經緩存了樣式表。

最後一個與呈現有關的優點讓我想起電影《莫紮特》。電影中,莫紮特問國王對自己的歌劇有什麼看法。國王說很好,但是很沉悶。莫紮特一再追問,國王解釋說,問題就在於“音符太多”。Web 設計也可能有同樣的問題,當然這裏的音符指的是實際 HTML 代碼。代碼越多,瀏覽器理解頁面所花的時間就越長。

大家也許都聽說過有關官方應用程序的傳言,它們編寫了非常糟糕的代碼,滿是複雜的信息,然而文檔頁面卻無法呈現。作為 Dreamweaver 的用戶,你們不會遇到這樣的問題,但是如果編寫了太多代碼,你們也會感到內疚。典型的基於表格的設計就是一個很好的例子。

在設計中使用 CSS 後,您將減少客戶需要下載的代碼的數量。僅僅減少某些頁面中的字體標簽就可以大大減少代碼的數量。在很多情況下,如果完全使用 CSS-P 進行設計,代碼的數量最多可以減少 50% 甚至更多。代碼減少就意味著頁面下載的速度加快。

可訪問性
如今我經常聽到人們談論可訪問性。大多數開發者知道自己必須考慮建立更多可訪問站點的問題,但在更大的程度上,只有為政府或教育機構建立站點的開發人員才被迫真正做到了這一點。考慮到可訪問性的問題時,大多數開發人員認為這僅僅意味著需要將 alt 屬性添加到圖形中。但實際上,提高可訪問性有很多工作可做,CSS 使您可以輕松建立可訪問站點。

可訪問性的主要問題(也是使用 CSS 能夠解決的問題)在於輔助技術(例如屏幕閱讀器)怎樣“閱讀”頁面。傳統的基於表格的環境下,屏幕閱讀器面臨一個巨大的挑戰,那就是決定怎樣閱讀頁面。想想吧,當屏幕閱讀器遇到鑲嵌很深的表格時該有多麼困惑,它應該閱讀內容,還是跳過內容?跳過內容後,以後怎樣返回內容?

當您點擊頁面時,您會很快看到頁面中自己感興趣的內容,而忽略頁面頂部的導航和其他內容。視力不太好的人卻做不到這一點。他必須等待屏幕閱讀器分析完頁面頂部和他感興趣的內容之間所有複雜的信息。

當然,有的技術能夠使屏幕閱讀器跳過導航,但這需要在導航條或其他內容的圖像中添加鏈接。這些技術的運行可能會造成混亂,而且訪問站點的其他人也能夠看到它們。使用 CSS,您能夠在頁面中完整定義不可視元素(對於其他站點訪問人員和您的鼠標不可視)。屏幕閱讀器可以使用這些元素快速導航,有效處理文檔。

由於 CSS 沒有顯示標記,屏幕閱讀器所遇到的唯一問題就是實際內容。另外,當您使用 CSS-P 進行設計時,您將專注於內容的實際“流”。您開始考慮它在頁面上的邏輯順序。

當您閱讀本文檔時,您理解了信息“流”。但在鑲嵌型表格的示例中,如果您使用多欄布局,本段落將很可能位於頁面的右上角。那樣,屏幕閱讀器無法知道它應該在文章末尾閱讀本段落。

使用 CSS-P 後,瀏覽器可能仍將本段落顯示在瀏覽器窗口的右上角,但當您查看文檔的源代碼時,段落在文檔的 html 中仍然是您現在所看到的位置。這使頁面更容易訪問。

總結和計劃
以上就是我的答案。我希望我解釋了使用 CSS 進行 Web 設計的獨特優勢。顯然,要學習的內容很多。因此,我鼓勵您閱讀 Macromedia 開發者中心關於 CSS 的其他文章*,它們將幫助您更好地了解 CSS 的優點,並教會您在設計中使用 CSS 的整個過程。以後的幾個星期以及幾個月當中,我將帶回來更多的 CSS 教程。就寫到這裏,希望您愉快使用我們的樣式。
回覆時引用此篇文章
回覆

書籤

主題工具
顯示模式

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼

論壇跳轉

 

所有時間均為 +8。現在的時間是 10:49 AM


本站主機由網易虛擬主機代管
Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2018,Jelsoft Enterprises Ltd.