以下就是HTML初學(xué)者適用的三十條最佳實(shí)踐,分享給大家供大家參考,具體內(nèi)容如下
1.保持標(biāo)簽閉合
以前,經(jīng)常見(jiàn)到類似下面的代碼(譯注:這是多久以前啊……):
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <li>Some text here.
- <li>Some new text here.
- <li>You get the idea.
注意外面包裹的UL/OL標(biāo)簽被遺漏了(誰(shuí)知是故意還是無(wú)意的),而且還忘記了關(guān)閉LI標(biāo)簽。按今天的標(biāo)準(zhǔn)來(lái)看,這是很明顯的糟糕做法,應(yīng)該100%避免??傊?,保持閉合標(biāo)簽。否則,你驗(yàn)證html標(biāo)簽的時(shí)候可能遇到問(wèn)題。
更好的方式
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <ul>
- <li>Some text here. </li>
- <li>Some new text here. </li>
- <li>You get the idea. </li>
- </ul>
2.聲明正確的文檔類型
筆者早先曾加入過(guò)許多CSS論壇,每當(dāng)用戶遇到問(wèn)題,我們會(huì)建議他首先做兩件事:
1. 驗(yàn)證CSS文件,保證沒(méi)有錯(cuò)誤。
2. 確認(rèn)添加了正確的doctype
DOCTYPE 出現(xiàn)在HTML標(biāo)簽之前,它告訴瀏覽器這個(gè)頁(yè)面包含的是HTML,XHTML,還是兩者混合,這樣瀏覽器才能正確解析。
通常有四種文檔類型可供選擇:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
-
-
- <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
-
-
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
-
-
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
-
關(guān)于該使用什么樣的文檔類型聲明,一直有不同的說(shuō)法。通常認(rèn)為使用最嚴(yán)格的聲明是最佳選擇,但研究表明,大部分瀏覽器會(huì)使用普通的方式解析這種聲明,所以很多人選擇使用HTML4.01標(biāo)準(zhǔn)。選擇聲明的底線是,它是不是真的適合你,所以你要綜合考慮來(lái)選擇適合你得項(xiàng)目的聲明。
3.永遠(yuǎn)不要使用內(nèi)聯(lián)樣式
當(dāng)你在埋頭寫代碼時(shí),可能會(huì)經(jīng)常順手或偷懶的加上一點(diǎn)行內(nèi)css代碼,就像這樣:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <p style="color: red;">I'm going to make this text red so that it really stands out and makes people take notice! </p>
這樣看起來(lái)即方便又沒(méi)有問(wèn)題。然而,這在你的編碼實(shí)踐中是個(gè)錯(cuò)誤。
在你寫代碼時(shí),在內(nèi)容結(jié)構(gòu)完成之前最好不要加入樣式代碼。
這樣的編碼方式就像打游擊,是一種很山寨的做法。——Chris Coyier
更好的做法是,完成標(biāo)簽部分后,再把這個(gè)P的樣式定義在外部樣式表文件里。
建議
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- #someElement > p {
- color: red;
- }
4.將所有外部css文件放入head標(biāo)簽內(nèi)
理論上講,你可以在任何位置引入CSS樣式表,但HTML規(guī)范建議在網(wǎng)頁(yè)的head標(biāo)記中引入,這樣可以加快頁(yè)面的渲染速度。
雅虎的開(kāi)發(fā)過(guò)程中,我們發(fā)現(xiàn),在head標(biāo)簽中引入樣式表,會(huì)加快網(wǎng)頁(yè)加載速度,因?yàn)檫@樣可以使頁(yè)面逐步渲染。 —— ySlow團(tuán)隊(duì)
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <head>
- <title>My Favorites Kinds of Corn</title>
- <link rel="stylesheet" type="text/css" media="screen" href="path/to/file.css" />
- <link rel="stylesheet" type="text/css" media="screen" href="path/to/anotherFile.css" />
- </head>
5.javascript文件放在底部
要記住一個(gè)原則,就是讓頁(yè)面以最快的速度呈現(xiàn)在用戶面前。當(dāng)加載一個(gè)腳本時(shí),頁(yè)面會(huì)暫停加載,直到腳本完全載入并執(zhí)行完成。因此會(huì)浪費(fèi)用戶更多的時(shí)間。
如果你的JS文件只是要實(shí)現(xiàn)某些功能,(比如點(diǎn)擊按鈕事件),那就放心的在body底部引入它,這絕對(duì)是最佳的方法。
建議
JavaScript Code復(fù)制內(nèi)容到剪貼板
- <p>And now you know my favorite kinds of corn. </p>
- <script type="text/javascript" src="path/to/file.js"></script>
- <script type="text/javascript" src="path/to/anotherFile.js"></script>
- </body>
- </html>
6.永遠(yuǎn)不要使用內(nèi)聯(lián)javascript。現(xiàn)在不是1996年了!
許多年以前,還存在一種這樣的方式,就是直接將JS代碼加入到HTML標(biāo)簽中。尤其是在簡(jiǎn)單的圖片相冊(cè)中非常常見(jiàn)。本質(zhì)上講,一個(gè)“onclick”事件是附加在 標(biāo)簽上的,其效果等同于一些JS代碼。不需要討論太多,非常不應(yīng)該使用這樣的方式,應(yīng)該把代碼轉(zhuǎn)移到一個(gè)外部JS文件中,然后使用“ addEventListener / attachEvent ”加入事件監(jiān)聽(tīng)器?;蛘呤褂胘query等框架,只需要使用“click”方法。
JavaScript Code復(fù)制內(nèi)容到剪貼板
- $('a#moreCornInfoLink').click(function() {
- alert('Want to learn more about corn?');
- });
7.邊開(kāi)發(fā),邊驗(yàn)證
如果你剛開(kāi)始從事網(wǎng)頁(yè)制作,那強(qiáng)烈建議你下載Web Developer Toolbar(chrome用戶請(qǐng)自行在應(yīng)用商店搜索,ie用戶可能就杯具了) ,并在編碼過(guò)程中隨時(shí)使用”HTML標(biāo)準(zhǔn)驗(yàn)證”和“CSS標(biāo)準(zhǔn)驗(yàn)證”。如果你認(rèn)為CSS是一種非常好學(xué)的語(yǔ)言,那么它會(huì)把你整的死去活來(lái)。你不嚴(yán)謹(jǐn)?shù)拇a會(huì)讓你的頁(yè)面漏洞百出,問(wèn)題不斷,一個(gè)好的方法就是—— 驗(yàn)證,驗(yàn)證,再驗(yàn)證。
8.下載firebug
Firebug是當(dāng)之無(wú)愧的網(wǎng)頁(yè)開(kāi)發(fā)最佳插件,它不但可以調(diào)試JavaScript,還可以直觀的讓你了解頁(yè)面標(biāo)記的屬性和位置。不用多說(shuō), 下載!
9.使用firebug
據(jù)筆者觀察,大部分的使用者僅僅使用了Firebug 20%的功能,那真是太浪費(fèi)了,你不妨花幾個(gè)小時(shí)的時(shí)間來(lái)系統(tǒng)學(xué)習(xí)這個(gè)工具,相信會(huì)讓你事半功倍。
10.保持標(biāo)簽名小寫
理論上講,html不區(qū)分大小寫,你可以隨意書寫,例如:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <DIV>
- <P>Here's an interesting fact about corn. </P>
- </DIV>
但最好不要這樣寫,費(fèi)力氣輸入大些字母沒(méi)有任何用處,并且會(huì)讓代碼很難看.
建議
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <div>
- <p>Here's an interesting fact about corn. </p>
- </div>
11.使用H1-H6標(biāo)簽
建議你在網(wǎng)頁(yè)中使用其中全部六種標(biāo)記,雖然大部分人只會(huì)用到前四個(gè),但使用最多的H會(huì)有很多好處,比如設(shè)備友好、搜索引擎友好等,不妨把你的P標(biāo)簽都替換成H6。
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <h1>This is a really important corn fact! </h1>
- <h6>Small, but still significant corn fact goes here. </h6>
12.使用無(wú)序列表(UL)包裹導(dǎo)航菜單
通常網(wǎng)站都會(huì)有導(dǎo)航菜單,你可以用這樣的方式定義:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <div id="nav">
- <a href="#">Home </a>
- <a href="#">About </a>
- <a href="#">Contact </a>
- </div>
如果你想書寫優(yōu)美的代碼,那最好不要用這種方式。
為什么要用UL布局導(dǎo)航菜單? ——因?yàn)閁L生來(lái)就是為定義列表準(zhǔn)備的
最好這樣定義:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <ul id="nav">
- <li><a href="#">Home</a></li>
- <li><a href="#">About</a></li>
- <li><a href="#">Contact</a></li>
- </ul>
15.學(xué)習(xí)如何應(yīng)對(duì)IE
IE一直以來(lái)都是前端開(kāi)發(fā)人員的噩夢(mèng)!
如果你的CSS樣式表基本定型了,那么可以為IE單獨(dú)建立一個(gè)樣式表,然后這樣僅對(duì)IE生效:
CSS Code復(fù)制內(nèi)容到剪貼板
- <!--[if lt IE 7]>
- <link rel="stylesheet" type="text/css" media="screen" href="path/to/ie.css" />
- <![endif]-->
這些代碼的意思是:如果用戶瀏覽器是IE6及以下,那這段代碼才會(huì)生效。如果你想把IE7也包含進(jìn)來(lái),那么就把“[if lt IE 7]”改為“[if lte IE 7]”。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)有所幫助。