2023-09-12 分類: 網(wǎng)站建設
1、對于web標準和W3C XHTML規(guī)范的理解
按照習慣的理解,這兩個概念似乎都是指的一個東西(就是咱們在這個版里討論的這些個"高深理論“^_^)。但我們認為,事實上從技術的角度上講, 這兩個事物幾乎沒有任何相關性。web標準簡而言之就是將頁面的結構、表現(xiàn)和行為各自獨立實現(xiàn),更通俗的講就是如今招聘時流行的語言”div+css"。 但W3C XHTML的任何一個版本都沒有對web標準理念作限制。很顯然的,我們可以用xhtml 1.1寫出一個table定位的網(wǎng)頁。說到這里,或許會認為我們講了一堆廢話。但任何一項技術,只有當你對基礎概念有足夠清晰的認識的時候,你才會正確的使 用它。我們從下面兩個方面,來談談如今Web標準應用走向的兩個歧途:
第一種情況很簡單。自以為只要使用了XHTML+CSS就是Web標準了。頁面里面遍地是class和id。肆意的為每個細節(jié)都單獨定義 class。這樣的頁面和傳統(tǒng)的html的區(qū)別就是img標簽里多了個"/"。事實上這樣子還不如回到傳統(tǒng)的html,至少我們可以輕松的使用font,而 不用總是跟查字典一樣去查樣式表。另一種更隱蔽的隨意使用CSS的我們在以后講。
第二種情況我們覺得比較難理解一些,即試圖用各種紛繁復雜的div嵌套和css語句來實現(xiàn)你所想要的表現(xiàn)。很簡單的一個例子就在我們剛看到的一個帖
子"
不用切圖的頁面圓角"。首先我們想肯定的是這個創(chuàng)意確實很不錯,使用CSS功能將圓角“畫”出來。為此,設計者必須在相應的位置加上一大段如下的代碼:
但是,這里嚴重違反了Web標準的基本概念——結構與表現(xiàn)要分離。因為它將用于控制網(wǎng)頁表現(xiàn)的代碼放在結構文檔中了。或許你會說它事實上還是將 真正的表現(xiàn)代碼放在CSS里的。但我們認為這是一個偷換概念。因為以上這些b標簽跟網(wǎng)頁結構無關,它們都是一些空標簽。也就是說,它的存在并不是為了將某些 內容放在文檔結構需要的位置。因此它們對于文檔結構來說只是一些廢代碼。
另外一個例子可能更加隱蔽。之前我們有在alistapart.com上看到過如何實現(xiàn)網(wǎng)頁三通欄的文章,其原理大概就是使用三四個div相互嵌 套。我們認為這也是一個違反Web標準思想的做法。因為這些div標簽在代碼中擺放的次序已經(jīng)不單純是為了結構的需要,而是用于網(wǎng)頁的表現(xiàn)。
當然,我們承認,以上的觀點在一定程度是鉆牛角尖(但反過來說,非要實現(xiàn)非圖片圓角不也是在鉆牛角尖么,呵呵)。有些時候結構和表現(xiàn)并不是那么輕 易的就能分開的,我們?yōu)榱藢崿F(xiàn)一些豐富的表現(xiàn)不得不讓結構去遷就(想想
最后,我們想聲明的是,我們并不是"非圖片圓角"是無意義或是錯誤的。我們也很佩服作者的聰明和靈感。我們覺得這樣的技術研究就如同以前用CSS畫國旗 一樣,對CSS技術的熟練掌握很有幫助。但是,它的用途也應該僅和CSS國旗一樣局限,不應該在實際應用中采納。因為它違反Web標準的基本原則。
2、HTML標簽的語義
如今Web標準都被通俗的叫做“div+css”或者“層布局”。我們不反對這種便宜行事的叫法。但是這樣會陷入一個誤區(qū):即大量的使用div標簽作為結構元素。事實上這是一種更高級的div濫用(Jeffrey Zeldman在《網(wǎng)站重構》一書中提到)。
HTML為我們提供了相當豐富的標簽,每個標簽都有它各自的含義。我們認為在設計時,除了遵循HTML語法以外,應該充分利用并遵守各標簽的“語 義”。如標題文字應該包含在h1-h6中,大段的文字內容應該由
進行分段而不是
,列表項應該放在ul或ol或dl中,表格形式的數(shù)據(jù)應該仍然用table布局。
為什么要這樣做?一個很有說服力的原因是,保證在用戶去掉CSS顯示的情況下,網(wǎng)頁能夠盡量有效的將內容的結構層次顯示出來。如果全部用div,當去掉CSS之后,整個網(wǎng)頁就失去了層次,只剩下一些雜亂的文字碎片。這并不符合Web標準對低配置兼容性的要求。
我們下面詳細的列舉一下我們對一些標簽的語義的理解:
p br
先說個最簡單的。分段要用p標簽而不是用br(甚至連續(xù)兩個
)。這個似乎不用多說。但是有時候我們不得不放棄這個原則。一個常見的例子是論壇發(fā)帖,如果我們想分段,便打回車。而如此傳輸?shù)胶笈_并顯示出來
的,顯然就是用
分段的。
table th
由于大力宣揚div+css的結果,似乎現(xiàn)在誰用table布局誰就是未開化的土著。但我們認為這種觀點是不正確的。table的含義是表格,因 此凡是應該以表格形式出現(xiàn)的數(shù)據(jù),仍然應該用table布局。簡單的例子是班級同學的花名冊,包括姓名學號性別等等,這明顯是一個表格形式的數(shù)據(jù),因此應 該用table布局。另一個比較值得探討的例子是,blog里面的日歷導航。我們曾經(jīng)有見過一個blog程序,它的日歷導航里的各個日期,從1號到30號全 用div套好,再使用float:left樣式7個一排的排出當月的日歷。當我們取消瀏覽器的CSS顯示之后,日歷的那部分則從1號到30號一豎排下來。我們 認為這是不對的。因為日歷應該是一個表格形式的數(shù)據(jù),因此仍然應該用table布局。當取消css之后,應該仍然按照一排7個的樣子歸成一個表格。
th則是另一個會被忽視的標簽。由于CSS的萬能,所有的表格單元都可以用td加一個class屬性搞定。但是從語義上講,一些表格單元應該用 th標簽。比如上文說到的日歷表格,里面的“MON TUE /WED... SUN”這些標識星期的單元,就應該用th而不是td。
本文標題:Web標準網(wǎng)站建設的一些思考
分享路徑:http://jinyejixie.com/news44/282694.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、營銷型網(wǎng)站建設、網(wǎng)站排名、自適應網(wǎng)站、軟件開發(fā)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容