五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 前臺開發(fā)從頭說起:關(guān)于web標(biāo)準(zhǔn)化

前臺開發(fā)從頭說起:關(guān)于web標(biāo)準(zhǔn)化

文章來源:365jz.com     點(diǎn)擊數(shù):429    更新時間:2009-12-17 23:17   參與評論

雖然CSS在表現(xiàn)方面天生具有很多優(yōu)勢,但是如果不是web標(biāo)準(zhǔn)化的盛行,估計CSS不會達(dá)到今天這樣的熱門。所以要說CSS,肯定要從web標(biāo)準(zhǔn)化說起。實(shí)際上,對CSS的理解越深,才能越好地理解和使用CSS。

很多人對于web標(biāo)準(zhǔn)化的理解就是“DIV+CSS”,或者“IE、FF、Chrome、Opera、Safari測試無錯”,或者就是“通過w3c校驗(yàn)”。實(shí)際上,這些都只是web標(biāo)準(zhǔn)化以后附帶的一些好處或者說一些表現(xiàn)。web標(biāo)準(zhǔn)化的精髓并不是為了拋棄表格,或者瀏覽器兼容,或者通過w3c校驗(yàn)。有時候,標(biāo)準(zhǔn)化了的網(wǎng)頁未必一定能達(dá)到上述這些特征。

 

web標(biāo)準(zhǔn)化的精髓或者說本質(zhì)到底是什么呢?其實(shí)很簡單,就是“結(jié)構(gòu)、表現(xiàn)、行為分離”。這句話看起來簡單,但是真的實(shí)現(xiàn)起來,就不那么容易了。分離,分離到什么程度算是標(biāo)準(zhǔn)?分離的目的是什么?舉例來說吧。

既然要分離,那么耦合度當(dāng)然是越低越好。

以樣式為例。我們可以把所有的樣式都放到外部CSS文件中,那么,CSS規(guī)則如何影響你的頁面元素呢?有時候用到ID,有時候用到class。如果你的頁面充滿了ID和class,那么實(shí)際上分離得就不怎么徹底,因?yàn)槟愕捻撁嫔先匀挥写罅康腎D或者class實(shí)際上是為了樣式表現(xiàn)而存在的,他們并不是文檔結(jié)構(gòu)本身的要求。所以現(xiàn)在有“class hell”的說法。就是為了完全由外部css對頁面實(shí)現(xiàn)精確控制,而在頁面文檔中加入大量,甚至過多的class。

再以行為為例。很多時候我們需要和用戶交互,于是要給頁面上的元素添加“onclick”,“onchange”,“onmouseover”等屬性,這些屬性編寫在頁面文檔中,依賴于外部javascript。一旦外部的javascript被拿走,頁面就出現(xiàn)執(zhí)行腳本錯誤,甚至完全不能正常閱讀。在這種情況下,javascript實(shí)際上和xhtml就沒有能夠解除耦合。

實(shí)際上,由于只有xhtml、css、javascript三者存在,我們不可能在網(wǎng)頁開發(fā)中引入“面向接口編程”之類的設(shè)計模式。那么,我們所謂的徹底分離,其實(shí)從三者分離的最根本目的來說,就是要實(shí)現(xiàn)xhtml對另外兩者不依賴。即使去除了所有的css和javascript,xhtml本身也能很好地完成自己的職責(zé)——文檔結(jié)構(gòu)。而css和javascript呢?依賴于xhtml是必然的。

如此一來,如何解除耦合呢?其實(shí)答案就呼之欲出了。那就是盡量避免和文檔結(jié)構(gòu)無關(guān)的元素嵌套,盡量去除class和事件屬性。比如:

<ul>
    <li><a href="#">國內(nèi)新聞</a></li>
    <li><a href="#">國際新聞</a></li>
    <li><a href="#">財經(jīng)新聞</a></li>
    <li><a href="#">體育新聞</a></li>
</ul>

這樣一段源代碼,從文檔結(jié)構(gòu)的角度來理解,它就是一組彼此關(guān)聯(lián),沒有先后和主次之分的列表,可以理解為列表,也可以理解為目錄。

但是在css的作用下,它可以變成菜單、導(dǎo)航條等各種形式,如果css和javascript相結(jié)合起來,它還可以變成滑動門、三態(tài)菜單等。在這種情況下,css負(fù)責(zé)表現(xiàn),javascript負(fù)責(zé)行為,而xhtml并沒有因?yàn)閏ss想實(shí)現(xiàn)什么樣式或者javascript想實(shí)現(xiàn)什么交互行為而改變自己。不管css和javascript想做什么,都跟它沒關(guān)系。那么實(shí)際上就真正達(dá)到了我們“徹底分離”的目的。保證了文檔結(jié)構(gòu)的純粹性。這就是web標(biāo)準(zhǔn)的思維模式。

隨之而來的好處,那就是頁面的兼容性,不管在什么樣的瀏覽器里,這段xhtml都是合法有效的。w3c校驗(yàn)也不會有任何問題。并且SEO也會非常好。因?yàn)樗阉饕嫦胍牟⒉皇莄lass或者onmouseover,搜索引擎想要的只不過是鏈接地址和鏈接文字。

那么,沒有class,怎么實(shí)現(xiàn)樣式呢?沒有onmouseover或者onclick,怎么實(shí)現(xiàn)javascript事件呢?這就需要網(wǎng)頁開發(fā)人員的css功力和javascript功力了。

所以,越是標(biāo)準(zhǔn)化,對css和javascript的技術(shù)要求越高。反過來,css的能力達(dá)不到,或者javascript的能力達(dá)不到,那就需要借助于class(id和文檔結(jié)構(gòu)有關(guān),不算在這里,后面我們再談)、借助于onmouseover或者onclick這些與結(jié)構(gòu)無關(guān)的屬性來幫助實(shí)現(xiàn)樣式或者行為。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評論 (429人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號