首頁  >  文章  >  web前端  >  我的一些關於web標準的思考筆記(一)_經驗交流

我的一些關於web標準的思考筆記(一)_經驗交流

WBOY
WBOY原創
2016-05-16 12:10:101262瀏覽

我是從去年初開始學習web標準的,兩年下來也有些心得。最近跳槽了剛好閒在家裡,寫一些出來跟大家交流一下。

1 對於web標準和W3C XHTML規範的理解

按照習慣的理解,這兩個概念似乎都是指的一個東西(就是咱們在這個版裡討論的這些個"高深理論“^_^)。但我認為,事實上從技術的角度上講,這兩個事物幾乎沒有任何相關性。 web標準簡而言之就是將頁面的結構、表現和行為各自獨立實現,更通俗的講就是如今招募時流行的語言」div+css"。但W3C XHTML的任何一個版本都沒有對web標準理念作限制。很明顯的,我們可以用xhtml 1.1寫出一個table定位的網頁。說到這裡,或許會認為我講了一堆廢話。但任何一項技術,只有當你對基礎概念有足夠清晰的認識的時候,你才會正確的使用它。我從下面兩個方面,來談談如今Web標準應用走向的兩個歧途:

第一種情況很簡單。自以為只要使用了XHTML+CSS就是Web標準了。頁裡面遍地是class和id。肆意的為每個細節都單獨定義class。這樣的頁面和傳統的html的差別就是img標籤裡多了個"/"。事實上這樣子還不如回到傳統的html,至少我可以輕鬆的使用font,而不用總是跟查字典一樣去查樣式表。另一種更隱蔽的隨意使用CSS的我在以後講。

第二種情況我覺得比較難理解一些,即試圖用各種紛繁複雜的div嵌套和css語句來實現你所想要的表現。很簡單的一個例子就在我剛看到的一個貼文" 不用切圖的頁面圓角"。首先我想肯定的是這個創意確實很不錯,使用CSS功能將圓角「畫」出來。為此,設計者必須在對應的位置加上一大段如下的程式碼:




但是,這裡嚴重違反了Web標準的基本概念-結構與表現要分離。因為它將用於控制網頁表現的程式碼放在結構文件中了。或許你會說它事實上還是把真正的表現代碼放在CSS裡的。但我認為這是一個偷換概念。因為以上這些b標籤跟網頁結構無關,它們都是一些空標籤。也就是說,它的存在並不是為了將某些內容放在文件結構所需的位置。因此它們對於文檔結構來說只是一些廢代碼。

另外一個例子可能更隱蔽。之前我有在alistapart.com上看到如何實現網頁三通欄的文章,其原理大概就是使用三四個div相互嵌套。我認為這也是違反Web標準思想的做法。因為這些div標籤在程式碼中擺放的次序已經不單純是為了結構的需要,而是用於網頁的表現。

當然,我承認,以上的觀點在一定程度是鑽牛角尖(但反過來說,非要實現非圖片圓角不也是在鑽牛角尖麼,呵呵)。有些時候結構和表現並不是那麼輕易的就能分開的,我們為了實現一些豐富的表現不得不讓結構去遷就(想想

的用處)。但是知道什麼是對什麼是錯是很重要的。即使我們有時候不得不做一些錯事。

最後,我想聲明的是,我並不是"非圖片圓角"是無意義或是錯誤的。我也很佩服作者的聰明和靈感。我覺得這樣的技術研究就如同以前用CSS畫國旗一樣,對CSS技術的熟練度很有幫助。但是,它的用途也應該只和CSS國旗一樣局限,不應該在實際應用中採納。因為它違反Web標準的基本原則。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn