這篇文章註意以前完美童話中的html標籤,有害的,糟糕的,明顯醜陋的,應該被排除在標準html之外的標籤,要想只有一半工作量要么顛覆瀏覽器要么使用更加簡單推薦的新標籤。
儘管前面的基礎教程已經提出了符合標準的建議,但初學者基礎不同或練習不對,這裡進行總結。
html正嘗試從表現轉向語意,進而分離語意(HTML)和表現(CSS)。這個已經大範圍運用於網頁,因為這樣一個單一的表現指令(CSS檔案)可以使用在許多的頁面。這樣,網站更有利於管理,想改變全站只需改變一個簡單的程式碼。
一些有害的標籤其實是簡單的表現標籤(例如small),它們可以用CSS裡面相同意思的程式碼取代。其他一些不是表現的標籤,但卻沒必要(例如font標籤)或對可用性不利(例如blink)。
標籤Tags
下面列出的標籤可以用更好的選擇:
b標籤的是加粗的意思,這裡可以用strong代替,或在css裡面加上font-weight:bold。
i表示斜體字元素,可以使用em代替,或在css裡面加上font-style:italic。
big用來表現大文字,標題上可以使用h1,h2等等代替,其他可以在cssfont-size裡具體控制。
small用來表現小文字,可以在cssfont-size裡控制。
hr表示水平線,可以在CSS裡用border-top或border-bottom代替,也可用圖片表現。
上述的標籤都適應最近的HTML標準,但是它們沒有賦予語意給內容。它們也許有更多用途但它們沒有顯著的害處,當站在下面糟糠的標籤上可能非常容易犯錯。
u表示下劃線元素。它讓文字像連接一樣保持下劃線,這也許就是這個標籤消失的原因,人們真的不喜歡沒有連接的文字有下劃線。
center可以讓元素居中。 CSS屬性text-align不但可以居中center還有left,right和justify。 menu用來製作一個菜單列表,它比ul幹的漂亮,但是無序列表更普遍,ul取代menu。
layer和div元素很像,但只工作在舊版netscape瀏覽器,用處不大。
blink或marquee。對它們堅決說不。
font,可以用來定義字體的名稱、大小、顏色。舊的網站(甚至現在的)在整個頁面連續不斷的使用font標籤,就像白蟻災禍。有些來自網頁建立軟體,佈置font標籤環繞在每個元素控製文字顏色或大小。用font標籤套用到每一個元素,用CSS表示的話只需簡單的一句即可,而且可以全站實作變更。使用這個方法,不僅可以減輕網頁體積,改變簡單的一句css語句就可以改變font所表示的內容。這樣保持了網站風格的一致。 font標籤和濫用表格是網頁體積臃腫的主要原因。
屬性Attributes
現在你可能正確使用標籤,但它們有一些令人煩惱的寄生屬性,可能導致變味。
name分配一個name給元素,在form元素例如input中表現完美,但在別處,name的工作被id屬性取代。
text和bgcolor用來指定基礎的文字顏色和擁有開放body標籤的背景顏色。 css中color和background-color屬性可以很好的應用在body選擇器。
background可以為body標籤指定背景圖片。 css可以提供更好的背景圖片屬性,例如background-image。
link,alink,vlink可以為body標籤指定連結顏色。 CSS屬性::link,:active,:visited同樣作用。 align可以控制元素排列,例如<div align="center">Stuff</div>,但像center標籤,可以在css裡用text-align屬性。
target連結以不同狀態打開,例如開新視窗<a href="wherever.html" target="_blank">Help me</a>。聽起來不錯,但對網站沒有親切感。使用者不會期望這些(如新開視窗)如魔術一樣的出現方式,大部分使用者喜歡使用「後退」按鈕,開啟新視窗意味著這個功能失效。標籤的表現屬性例如圖片的width和height表格的cellpadding和cellspacing決定了不同的屬性應用在不同的元素。它們不是完美的解決方案,但如果你的頁面有很多圖片或表格,你可能沒有其他可行的選擇。
大部分莫名其妙的表現屬性屬於textarea標籤,它不僅只有cols和rows有效屬性,最新的HTML標準需要它們。
好的標籤,壞的應用。
進入你的房子,你可能跪下鑽狗洞,但是等下,有一個專門為人設計的門裝飾——把手,呵呵,看看,門才擁有讓人通過的正確大小。
HTML標籤正是為細節設計,信任或不信任,當你正確使用它們,你能達到最佳結果。
當html是語義的,網頁對殘障使用者帶來更多的易用性,例如螢幕讀者經常強調列表它使用到ul標籤或一個標題它使用到h1或h2標籤。
html最嚴重的濫用就是表格,表格被用來佈局,但它們只是用來表示表格資料。不用表格版面的想法不是像佛教徒一樣尋求啟蒙,它有真正的益處,不僅減輕網頁體積,同時可以輕鬆的維護和重新設計網頁。
有時有些設計者會使用一些標籤和屬性來完成過渡性的設計(特別是表格版面),一是可以支援舊版瀏覽器(Netscape 4)。在Netscape 4表格比CSS的表現好,但它的用戶非常少而且正在減少,現在行動用戶正在增多,表格佈局就顯的非常糟糕。上述的表格優點遠超缺點,原因在於在盡量少的風格下頁面需要考慮所有瀏覽器的功能。
框架Frames
金髮女孩認為這是一個非常不錯的主意為一碗稀飯幫助她,但是隨後三個大型食肉動物出現把她扔出了窗戶。框架就像是屬於熊的一碗稀飯。它們看起來不錯,但是危險時刻存在。
大部分網站都不用框架,大部分網站使用者只使用單一的頁面。
但是如果,由於一些原因,你需要防止用戶添加一個指定的頁面到它們的書籤,或者你想防止經由email或即時信息介紹的指定頁面,或者你想添加另外一個級別的整體複雜性給使用屏幕閱讀器的殘疾用戶,他們需要在框架間導航,或者你想進入搜尋引擎地獄,就用框架吧。
基本上,框架什麼也不做,只增加了複雜性和失去可用性。
最後如果你跟循下面的規則,不會錯的太離譜。
1)如果標籤或屬性的名稱比較生僻,建議註解下,或不用它。這樣使用css的效率會提高。
2)讓標籤做符合它名稱的工作。表格就用在表格數據。標題就用標題,等等。
3)當你有明確的內容,使用適當的標籤。列表用列表,標題用標題,等等。