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