本文由會員 cmstv 翻譯希望大家指點
原文:http://www.htmldog.com/guides/htmlintermediate/badtags/ 已經(jīng)翻譯HTML初中級教程,后所在欄目:http://www.w3cpro.cn/tutorial/index.html
十六 有害的標(biāo)簽 Bad Tags 這篇文章注意以前完美童話中的html標(biāo)簽,有害的,糟糕的,明顯丑陋的,應(yīng)該被排除在標(biāo)準(zhǔn)html之外的標(biāo)簽,要想只有一半工作量要么顛覆瀏覽器要么使用更加簡單推薦的新標(biāo)簽。
盡管前面的基礎(chǔ)教程已經(jīng)提出了符合標(biāo)準(zhǔn)的建議,但初學(xué)者基礎(chǔ)不同或者練習(xí)不對,這里進(jìn)行總結(jié)。
html正嘗試從表現(xiàn)轉(zhuǎn)向語意,進(jìn)而分離語意(HTML)和表現(xiàn)(CSS)。這個已經(jīng)大范圍運用于網(wǎng)頁,因為這樣一個單一的表現(xiàn)指令(CSS文件)可以使用在許多的頁面。這樣,網(wǎng)站更利于管理,想改變?nèi)局恍韪淖円粋簡單的代碼。
一些有害的標(biāo)簽其實是簡單的表現(xiàn)標(biāo)簽(比如small),它們可以用CSS里面相同意思的代碼取代。其他一些不是表現(xiàn)的標(biāo)簽,但卻沒必要(比如font標(biāo)簽)或者對可用性不利(比如blink)。
標(biāo)簽 Tags 下面列舉的標(biāo)簽可以用更好的選擇:
b標(biāo)簽的是加粗的意思,這里可以用strong代替,或在在css里面添加font-weight:bold。
i表示斜體字元素,可以使用em代替,或是在css里面添加font-style:italic。
big用來表現(xiàn)大文字,標(biāo)題上可以使用h1,h2等等代替,其他可以在cssfont-size里具體控制。
small用來表現(xiàn)小文字,可以在cssfont-size里控制。
hr表示水平線,可以在CSS里用border-top或border-bottom代替,也可用圖片表現(xiàn)。
上面提及的標(biāo)簽都適應(yīng)最近的HTML標(biāo)準(zhǔn),但是它們沒有賦予語意給內(nèi)容。它們也許有更多用處但它們沒有顯著的害處,當(dāng)站在下面糟糠的標(biāo)簽上可能非常容易犯錯。
u表示下劃線元素。它讓文本像連接一樣保持下劃線,這也許就是這個標(biāo)簽消失的原因,人們真的不喜歡沒有連接的文本有下劃線。
center可以讓元素居中。CSS屬性text-align不僅可以居中center還有l(wèi)eft,right和justify。 menu用來制作一個菜單列表,它比ul干的漂亮,但是無序列表更加普遍,ul取代menu。
layer和div元素很像,但只工作在老版本netscape瀏覽器,用處不大。
blink或marquee。對它們堅決說不。
font,可以用來定義字體的名稱、大小、顏色。舊的網(wǎng)站(甚至現(xiàn)在的)在整個頁面連續(xù)不斷的使用font標(biāo)簽,就像白蟻災(zāi)禍。一些來自網(wǎng)頁創(chuàng)建軟件,布置font標(biāo)簽環(huán)繞在每個元素控制文字顏色或大小。用font標(biāo)簽應(yīng)用到每一個元素,用CSS表示的話只需簡單的一句即可,而且可以全站實現(xiàn)更改。使用這個方法,不僅可以減輕網(wǎng)頁體積,改變簡單的一句css語句就可改變font所表示的內(nèi)容。這樣保持了網(wǎng)站風(fēng)格的一致。font標(biāo)簽和濫用表格是網(wǎng)頁體積臃腫的主要原因。
屬性 Attributes
現(xiàn)在你可能正確使用標(biāo)簽,但它們有一些令人煩惱的寄生屬性,可能導(dǎo)致變味。
name分配一個name給元素,在form元素比如input中表現(xiàn)完美,但在別處,name的工作被id屬性代替。
text和bgcolor用來指定基礎(chǔ)的文字顏色和擁有開放body標(biāo)簽的背景顏色。css中color和background-color屬性可以很好的應(yīng)用在body選擇器。
background可以為body標(biāo)簽指定背景圖片。css可以提供更好的背景圖片屬性,比如background-image。
link,alink,vlink可以為body標(biāo)簽指定鏈接顏色。CSS屬性::link,:active,:visited同樣作用。 align可以控制元素排列,比如<div align="center">Stuff</div>,但是像center標(biāo)簽,可以在css里用text-align屬性。
target鏈接以不同狀態(tài)打開,比如開新窗口 <a href="wherever.html" target="_blank">Help me</a>。聽起來不錯,但對網(wǎng)站沒有親切感。用戶不會期望這些(如新開窗口)如魔術(shù)一樣的出現(xiàn)方式,大部分用戶喜歡使用“后退”按鈕,打開新窗口意味著這個功能失效。標(biāo)簽的表現(xiàn)屬性比如圖片的width和height表格的cellpadding和cellspacing決定了不同的屬性應(yīng)用在不同的元素。它們不是完美的解決方案,但如果你的頁面有很多圖片或表格,你可能沒有其他可行的選擇。
大部分莫名其妙的表現(xiàn)屬性屬于textarea標(biāo)簽,它不僅只有cols和rows有效屬性,最新的HTML標(biāo)準(zhǔn)需要它們。
好的標(biāo)簽,壞的應(yīng)用。
進(jìn)入你的房子,你可能跪下鉆狗洞,但是等下,有一個專門為人設(shè)計的門裝飾——把手,呵呵,看看,門才擁有讓人通過的正確大小。
HTML標(biāo)簽正是為細(xì)節(jié)設(shè)計,信任或不信任,當(dāng)你正確使用它們,你能取得最佳結(jié)果。
當(dāng)html是語意的,網(wǎng)頁對殘障用戶帶來更多的易用性,比如屏幕讀者經(jīng)常強(qiáng)調(diào)列表它使用到ul標(biāo)簽或一個標(biāo)題它使用到h1或h2標(biāo)簽。
html最嚴(yán)重的濫用就是表格,表格被用來布局,但它們僅僅只是用來表示表格數(shù)據(jù)。不用表格布局的想法不是像佛教徒一樣尋求啟迪,它有真正的益處,不僅減輕網(wǎng)頁體積,同時可以容易的維護(hù)和重新設(shè)計網(wǎng)頁。
有時一些設(shè)計者使用一些標(biāo)簽和屬性完成過渡性的設(shè)計(特別是表格布局),一是可以支持老版本瀏覽器(Netscape 4)。在Netscape 4表格比CSS的表現(xiàn)好,但它的用戶非常少而且正在減少,現(xiàn)在移動用戶正在增多,表格布局就顯的非常糟糕。上面提到的表格優(yōu)點遠(yuǎn)超缺點,原因在于在盡量少的風(fēng)格下頁面需要考慮所有瀏覽器的功能。
框架 Frames 金發(fā)姑娘認(rèn)為這是一個非常不錯的主意為一碗稀飯幫助她,但是隨后三個大型食肉動物出現(xiàn)把她扔出了窗戶。框架就像是屬于熊的一碗稀飯。它們看起來不錯,但是危險時刻存在。
大部分網(wǎng)站都不用框架,大部分網(wǎng)站用戶只使用單一的頁面。
但是如果,由于一些原因,你需要防止用戶添加一個指定的頁面到它們的書簽,或者你想防止經(jīng)由email或即時信息介紹的指定頁面,或者你想添加另外一個級別的整體復(fù)雜性給使用屏幕閱讀器的殘疾用戶,他們需要在框架間導(dǎo)航,或者你想進(jìn)入搜索引擎地獄,就用框架吧。
基本上,框架什么也不做,只增加了復(fù)雜性和失去可用性。
最后如果你跟循下面的規(guī)則,不會錯的太離譜。
- 如果標(biāo)簽或?qū)傩缘拿Q比較生僻,建議注釋下,或不用它。這樣使用css的效率會提高。
- 讓標(biāo)簽做符合它名稱的工作。表格就用在表格數(shù)據(jù)。標(biāo)題就用標(biāo)題,等等。
- 當(dāng)你有明確的內(nèi)容,使用適當(dāng)?shù)臉?biāo)簽。列表用列表,標(biāo)題用標(biāo)題,等等。
好的閱讀效果請訪問:http://www.w3cpro.cn/tutorial/xhtml/98.html 論壇討論地址:http://bbs.blueidea.com/thread-2698113-1-1.html
出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|