采用XHTML和CSS設(shè)計可重用可換膚的WEB站點的方法第2/4頁
1、重新設(shè)計站點的HTML
首先我們要去掉網(wǎng)頁中有關(guān)外觀的標(biāo)簽。在以前的代碼中,我們常用一個表格用來在頁面的內(nèi)容中創(chuàng)建一個有邊框的區(qū)塊,我們還使用〈b〉來加粗文本。用<font color=red>來改變字體顏色等等。用<br>標(biāo)簽來創(chuàng)建段落等。
而要做出能適應(yīng)XHTML標(biāo)準(zhǔn)和能隨意換膚的網(wǎng)站,我們須要避免在頁面中使用有關(guān)外觀的標(biāo)簽。使文檔結(jié)構(gòu)和表示形式分離的一個最大的好處就是它使文檔在沒有CSS時,仍然可以使用和訪問。表現(xiàn)(就是文檔看上去的樣子)在一個支持性好的瀏覽器中也將呈現(xiàn)的不一樣,但是它的內(nèi)容將永遠(yuǎn)不變,大多數(shù)情況,對于訪問網(wǎng)站的人來說,內(nèi)容實際上比表現(xiàn)的方式更加重要。這就是為什么給那些支持性不好的瀏覽器發(fā)送一個沒有樣式的頁面,要比把他們排斥在外要好的原因。
現(xiàn)在比較流行的做法是使用DIV、SPAN等標(biāo)簽來布局整個頁面,而TABLE,UL,PRE,CODE等標(biāo)簽來顯示數(shù)據(jù),用UL是用來顯示無序的列表信息,而OL顯示有序的列表信息。這將比用TABLE來顯示一個列表更有語義上的意義,同時UL和OL在瀏覽器中比TABLE標(biāo)簽更快有下載速度,并且相對于TABLE,CSS對UL和OL的外觀控制更加靈活。當(dāng)然對于復(fù)雜的數(shù)據(jù),比如報表,用TABLE來顯示仍然是不二的選擇。
2、建立基本的通用樣式
由于所有的XHTML文件都是由各種各樣的HTML標(biāo)簽和標(biāo)簽內(nèi)的文字組成,而一些基本的標(biāo)簽在每個XHTML文件都存在的,如:body、table、td、div、h1—h6、ul、li、input等等,如果我們定義好了這些標(biāo)簽的CSS樣式,如:字體,字號,行距,背景色,背景圖等等,我們就有了一個基本的樣式風(fēng)格,就如同在Word或PowerPoint中的主題,每個主題就是一套風(fēng)格樣式。 因此,我們可以根據(jù)基本的HTML標(biāo)簽定義出一個通用的樣式來,例如建立一個siteComm.css文件,定義如下:
BODY
(
background: url(images/bg_page.jpg);
font: 10pt verdana,arial,;
margin-top: 0px;
margin-left: 0px;
margin-right: 0px;
margin-bottom: 0px;
)
H1, H2, H3, H4, H5, H6
(
border-bottom: solid 1px #ccc;
margin: 1em 0;
)
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;
)
這樣的一個樣式文件,可以適用于任何一個網(wǎng)頁,只要添加引用我們都可以立刻看見效果。
由于樣式表的繼承規(guī)則是外部的標(biāo)簽樣式會保留下來繼承給這個標(biāo)簽所包含的其他標(biāo)簽。事實上,所有在標(biāo)簽中嵌套的標(biāo)簽都會繼承外層標(biāo)簽指定的屬性值,有時會把很多層標(biāo)簽的樣式疊加在一起,例如在body標(biāo)簽中定義了字體大小,那么div、p等標(biāo)簽也會繼承一樣的字體大小,如果在P標(biāo)簽中又定義了字體顏色,那么P標(biāo)簽中的文字既具有body標(biāo)簽的字體大小又有P標(biāo)簽的字體顏色。需要注意的是,table標(biāo)簽不會繼承body的字體大小設(shè)定,所以在上面的樣式表中,我們單獨來定義td的樣式。
3、定義好頁面的結(jié)構(gòu)布局
很多時候,我們在制作網(wǎng)頁時總是從視覺出發(fā),先用Photoshop或者Fireworks畫出來、思考頁面的配色,做一些很炫的效果,很精美的圖片,再切割成小圖。然后通過編輯HTML將所有設(shè)計變成頁面。
然而,有視覺的缺陷的人,不能理解這些顏色或者效果。PDA、移動電話和屏幕閱讀機上也無法解析這些效果。
因此外觀并不是最重要的。一個結(jié)構(gòu)良好的XHTML可以通過CSS的不同定義,顯示成任何外觀,顯示在任何支持XHTML的網(wǎng)絡(luò)設(shè)備上。
通過分析我們可以發(fā)現(xiàn),對于大多數(shù)WEB網(wǎng)站來說,頁面都是由一些類似的內(nèi)容區(qū)塊所組成,如:
- 站點標(biāo)題區(qū)
- 站點導(dǎo)航(主菜單,次及菜單)
- 功能區(qū)(例如搜索框、用戶登陸區(qū))
- 內(nèi)容區(qū)(文章正文或者文章、產(chǎn)品列表)
- 頁腳(版權(quán)和有關(guān)法律聲明)
然后我們用DIV標(biāo)簽來將這些區(qū)塊包含起來,類似這樣:
- jQuery之網(wǎng)頁換膚實現(xiàn)代碼
- JQuery 網(wǎng)站換膚功能實現(xiàn)代碼
- Javascript結(jié)合css實現(xiàn)網(wǎng)頁換膚功能
- js動態(tài)修改整個頁面樣式達(dá)到換膚效果
- javascript實現(xiàn)動態(tài)CSS換膚技術(shù)的腳本
- 使用jQuery實現(xiàn)的網(wǎng)頁版的個人簡歷(可換膚)
- js+css簡單實現(xiàn)網(wǎng)頁換膚效果
- 漂亮的widgets,支持換膚和后期開發(fā)新皮膚
- 使用jQuery實現(xiàn)Web頁面換膚功能的要點解析
- AngularJS實現(xiàn)網(wǎng)站換膚實例
相關(guān)文章
ie6,ie7,ie8完美支持position:fixed的終極解決方案
ie6對position:fixed不支持,網(wǎng)上有很多解決方法,有的在ie6,ie7上調(diào)試成功后,在ie8上又不好使,div層還是跟隨滾動條浮 動;以下總結(jié)方法,在ie6,ie7,ie8上都調(diào)試成功,且頁面滾動條滾動時,效果還挺好,div層并不會閃爍。2014-05-05
標(biāo)準(zhǔn)布局應(yīng)用:顯示/隱藏側(cè)邊欄 [附詳細(xì)注解]
標(biāo)準(zhǔn)布局應(yīng)用:顯示/隱藏側(cè)邊欄 [附詳細(xì)注解]...2006-12-12
Div CSS absolute與relative的區(qū)別小結(jié)
Div + CSS 進(jìn)行網(wǎng)頁布局,適當(dāng)?shù)剡\用 absolute 與 relative,能給布局帶來意想不到的效果和方便,達(dá)到事半功倍…本文介紹了關(guān)于 absolute 與 relative 的運用。2007-12-12
position:relative/absolute無法沖破的等級
position:relative/absolute無法沖破的等級...2007-03-03
div的dispaly:inline樣式 和span的區(qū)別
為什么在ie里執(zhí)行后這段代碼 兩個span標(biāo)簽雖在同一行但它們之間有空隙? 但是 兩個div標(biāo)簽雖然在同一行就沒有空隙?2008-07-07

