隨著XHTML的逐漸推廣流行,HTML 在許多場合已經顯得過時。World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日發布了 XHTML 的第一個版本作為推薦標準。XHTML 標準的目標是取代 html 。按照 W3C 的說法,“XHTML 是 html 的繼承者”(http://www.w3.org/MarkUp/)。
XHTML具有兩大目標:
- 在文檔結構和表示形式之間創建更明顯的分離。
- 將 html 重新表示為 XML 的應用程序。
使用XHTML標準的好處是:只需設計頁面一次,即可讓該頁以完全相同的方式在任何現代的瀏覽器中顯示和工作。例如,在按照標準生成以后,頁面在Internet Explorer、Mozilla Firefox、Netscape Navigator、Opera、Camino 和 Safari)中以相同的方式顯示,而無需完成任何額外的工作。并且XHTML標準可以使 Web 站點更易于為智能手機、殘疾人電腦等設備訪問。
由于XHTML標準要求在在文檔結構和表示形式之間創建更明顯的分離。因此使用CSS樣式表是必不可少的。CSS在網頁中占著極重要的地位,它的使用一直是熱門討論的話題。CSS是Cascading Style Sheet的簡寫,譯為“層疊樣式表單”。 在1997年W3C頒布HTML4標準的同時也公布了有關樣式表的第一個標準CSS1, 自CSS1的版本之后,又在1998年5月發布了CSS2版本。
CSS 的發明者的目的是除去表示性元素,即應該根據內容所表示的東西來標記內容,而樣式表應該用于美化內容。而這一點與XHTML分離文檔結構和表示形式的目標是一致,(在XHTML 2.0將除去b 、 i 和 img 標記(以及 big 、 small 和 tt ),甚至不贊成使用 br ,準備從將來的發行版中除去它。原因在于大多數標記都是表示性的。它們的唯一目的就是給予瀏覽器指令,規定有關其內容應該如何顯示,但卻完全未提供有關其內容是什么的信息。) 因此它們成了最好的合作伙伴。更多關于XHTML2.0的資料,請參見:http://www-128.ibm.com/developerworks/cn/xml/x-wa-xhtml/index.html
CSS過去經常被用來定義字體的屬性,而現在新標準中我們將用它來控制整個頁面的顯示。然而,我們必須需要做一些不同于以往的處理來適應這種新的變化,如:使用div來布局而不是表格,使用結構化、語義化的標記等等。由于采用新的處理方式,我們現在可以輕松地設計出可重用的CSS(同一個樣式文件多個WEB站點中使用)以及可換膚的WEB站點(一個站點使用多種不同風格的樣式)。
示例請見
四川省建設廳信息門戶
,界面切換在右上方,如圖1所示。由于時間原因,并未通過XHTML和CSS校驗,但原理是一樣的。
圖1:界面樣式切換
1、重新設計站點的HTML
首先我們要去掉網頁中有關外觀的標簽。在以前的代碼中,我們常用一個表格用來在頁面的內容中創建一個有邊框的區塊,我們還使用〈b〉來加粗文本。用<font color=red>來改變字體顏色等等。用<br>標簽來創建段落等。
而要做出能適應XHTML標準和能隨意換膚的網站,我們須要避免在頁面中使用有關外觀的標簽。使文檔結構和表示形式分離的一個最大的好處就是它使文檔在沒有CSS時,仍然可以使用和訪問。表現(就是文檔看上去的樣子)在一個支持性好的瀏覽器中也將呈現的不一樣,但是它的內容將永遠不變,大多數情況,對于訪問網站的人來說,內容實際上比表現的方式更加重要。這就是為什么給那些支持性不好的瀏覽器發送一個沒有樣式的頁面,要比把他們排斥在外要好的原因。
現在比較流行的做法是使用DIV、SPAN等標簽來布局整個頁面,而TABLE,UL,PRE,CODE等標簽來顯示數據,用UL是用來顯示無序的列表信息,而OL顯示有序的列表信息。這將比用TABLE來顯示一個列表更有語義上的意義,同時UL和OL在瀏覽器中比TABLE標簽更快有下載速度,并且相對于TABLE,CSS對UL和OL的外觀控制更加靈活。當然對于復雜的數據,比如報表,用TABLE來顯示仍然是不二的選擇。
2、建立基本的通用樣式
由于所有的XHTML文件都是由各種各樣的HTML標簽和標簽內的文字組成,而一些基本的標簽在每個XHTML文件都存在的,如:body、table、td、div、h1—h6、ul、li、input等等,如果我們定義好了這些標簽的CSS樣式,如:字體,字號,行距,背景色,背景圖等等,我們就有了一個基本的樣式風格,就如同在Word或PowerPoint中的主題,每個主題就是一套風格樣式。 因此,我們可以根據基本的HTML標簽定義出一個通用的樣式來,例如建立一個siteComm.css文件,定義如下:
BODY
(
background:url(images/bg_page.jpg);
font:10ptverdana,arial,;
margin-top:0px;
margin-left:0px;
margin-right:0px;
margin-bottom:0px;
)
H1,H2,H3,H4,H5,H6
(
border-bottom:solid1px#ccc;
margin:1em0;
)
TD
(
font:10pt;
)
A:link
(
color:#057AE0;
text-decoration:none;
)
A:visited
(
color:#057AE0;
text-decoration:none;
)
A:hover
(
color:#009900;
)
A:active
(
color:#009900;
)
這樣的一個樣式文件,可以適用于任何一個網頁,只要添加引用我們都可以立刻看見效果。
由于樣式表的繼承規則是外部的標簽樣式會保留下來繼承給這個標簽所包含的其他標簽。事實上,所有在標簽中嵌套的標簽都會繼承外層標簽指定的屬性值,有時會把很多層標簽的樣式疊加在一起,例如在body標簽中定義了字體大小,那么div、p等標簽也會繼承一樣的字體大小,如果在P標簽中又定義了字體顏色,那么P標簽中的文字既具有body標簽的字體大小又有P標簽的字體顏色。需要注意的是,table標簽不會繼承body的字體大小設定,所以在上面的樣式表中,我們單獨來定義td的樣式。
3、定義好頁面的結構布局
很多時候,我們在制作網頁時總是從視覺出發,先用Photoshop或者Fireworks畫出來、思考頁面的配色,做一些很炫的效果,很精美的圖片,再切割成小圖。然后通過編輯HTML將所有設計變成頁面。
然而,有視覺的缺陷的人,不能理解這些顏色或者效果。PDA、移動電話和屏幕閱讀機上也無法解析這些效果。
因此外觀并不是最重要的。一個結構良好的XHTML可以通過CSS的不同定義,顯示成任何外觀,顯示在任何支持XHTML的網絡設備上。
通過分析我們可以發現,對于大多數WEB網站來說,頁面都是由一些類似的內容區塊所組成,如:
- 站點標題區
- 站點導航(主菜單,次及菜單)
- 功能區(例如搜索框、用戶登陸區)
- 內容區(文章正文或者文章、產品列表)
- 頁腳(版權和有關法律聲明)
然后我們用DIV標簽來將這些區塊包含起來,類似這樣:












通過CSS的定義,我們可以將這些DIV標簽包含的區塊放在頁面上任何位置,再指定這些塊的顏色、字體、邊框、背景以及對齊屬性等等。如:我們再建立siteLayout.css文件,定義如下:
(
padding:10px;
border:1pxsolid#666;
height:100px;
height:70px;
)
.pageNav
(
padding:10px;
border:1pxsolid#666;
height:100px;
height:30px;
)
.catalogNav
(
float:left;
top:130px;
padding:10px;
border:1pxsolid#666;
width:20%;
)
.pageSearch
(
float:left;
top:130px;
padding:10px;
border:1pxsolid#666;
width:20%;
)
.pageContent
(
float:left;
padding:10px;
border:1pxsolid#666;
height:400px;
width:60%;
)
.pageBottom
(
clear:both;
padding:10px;
border:1pxsolid#666;
height:100px;
height:70px;
)
如此,我們定義了一個三列的頁面布局:頂部自適應頁面寬度。中間三列自適應頁面。底部自適應頁面寬度,當然您也可以將頁面定義為中間只有兩列等等,您只需要調整layout.css文件即可,這樣您可以靈活的修改頁面的布局,讓頁面外觀發生根本的變化,而不必動到HTML源文件,這一點對于服務器端生成代碼的程序尤為重要。 更多關于CSS布局的資料,請參見:http://www.w3cn.org/article/layout/2004/55.html
4、定義站點獨有的樣式
經過以上兩步之后,我們已經有了一個大概的頁面主題外觀,接下來我們要設計站點的細節,比如,對站點導航條我們想使用與普通超鏈接不一樣的樣式,如:藍色、加粗、字體更大、再加上有立體效果的背景圖:
font-weight : bold ; font-size : 120% ; background : url(images/bg_siteMenu.jpg)#36c ;
)
對于欄目導航,我們想給每個欄目連接加上背景色,并且有鼠標滑過和移出的效果。 欄目導航區的html代碼為:
< ul >
< li >
< A href ="1" > 欄目1 </ A >
< li >
< A href ="2" > 欄目2 </ A >
< li >
< A href ="3" > 欄目3 </ A >
< li >
< A href ="4" > 欄目4 </ A >
< li >
< A href ="5" > 欄目5 </ A >
< li >
< A href ="6" > 欄目6 </ A >
</ li >
</ ul >
</ div >
欄目導航區對應的Css代碼為:




































接下來我們還需要定義其他的站點獨有的樣式,如欄目標題、文章列表、文章正文、時間、注釋、提示、錯誤等等各種樣式,而且這些樣式多以類和id來作為選擇符。這些樣式都是針對某個站點的,不適用于其他的站點,然后我們將這些樣式保存為siteStyle.css文件。
這樣我們就有了3個CSS文件。 SiteComm.css:任何站點都可以使用的樣式文件,定義了常用的html標簽樣式。 SiteLayout.css:站點的布局文件,能適用于大多數的網站結構,具體細節需要調整。 siteStyle.css:站點獨有的樣式文件,能顯示出本站點獨特的風格和適應于站點的內容。
然后我們采用外部調用法:將這些樣式表與頁面關聯起來。



在符合XHTML標準的設計中,我們使用外部調用法,好處不言而喻,HTML文檔會變得非常的小,CSS文件被存在瀏覽器的緩存中,僅僅需要下載一次即可,并且你只需要修改一個文件就可以改變整個網站的樣式。
并且這樣我們才能通過客戶端腳本,或者服務器端代碼方便地改變樣式表的連接地址,而快捷地實現換膚功能。
5、根據用戶設置換膚
網站樣式切換在網上已有很多現成的javascript換膚代碼,一般使用cookie來保存用戶設置,在請求頁面時,改變頁面的CSS文件連接即可。
而服務器端的換膚做法是根據用戶請求,動態地生成CSS文件連接,用戶設置一般保存在數據庫或者cookie中。
由于我們使用了3個不同功能CSS樣式文件來顯示網站,所以我們可以設計出更加靈活的換膚方案和組合,如只切換主題而保留布局,和切換布局和主題,以及各種細節等等。
使用3個CSS樣式文件額外的好處是,每當我們設計一個新的系統,它的樣式風格特性幾乎都可以大部分應用到以前的系統上(因為我們采用大致相同的頁面結構模型,雖然顯示千差萬別,但主要的框架是一樣的),這樣我們就可以積累出相當數量和相當風豐富的界面樣式庫來。
6、通過校驗
整個過程的最后一個步驟就是對XHTML\CSS代碼進行驗證。有很多種的工具都可以幫你對二者進行驗證。
例如Dreamweaver MX即可檢查我的樣本代碼的可訪問性。你可以通過在文件菜單中選擇Check Page然后選擇Check Accessibility來實現。任何錯誤或是警告都會顯示出來,還包括出現位置的行號以及對問題簡要的解釋。你可以在Dreamweaver MX的Reference工具中找到更多關于這些錯誤和警告的內容。
而Microsoft ASP.NET 2.0 具有很多有用的功能,也能幫助我們設計和生成符合 XHTML 和可訪問性標準的 Web 站點。 使用 Web 標準生成 ASP.NET 2.0 Web 站點 http://www.microsoft.com/china/msdn/library/webservices/asp.net/ASPNETusStan.mspx
此外,World Wide Web Consortium (W3C)提供了超過30個的可訪問性評估工具的鏈接。W3C還提供了針對HTML和CSS的基于Web的免費驗證器。
因此如果想要改善網站友好度,可用性,可訪問性等,可將新標準視為一個機會,而不是一個障礙。要了解更多關于新標準和可訪問性的內容,你可以去看一看World Wide Web Consortium中的Web Accessibility Initiative (WAI)。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
