
Nettuts +運(yùn)營(yíng)最困難的方面是為很多技能水平不同的用戶提供服務(wù)。如果我們發(fā)布太多高級(jí)教程,我的新手用戶將無(wú)法從中受益。相反也是如此。我們盡我們最大的努力,但如果你覺(jué)得你被忽略了請(qǐng)聯(lián)系我們。這個(gè)網(wǎng)站是為你服務(wù)的,所以說(shuō)出來(lái)!如此說(shuō)來(lái),今天的教程是專為那些剛剛進(jìn)入web開(kāi)發(fā)領(lǐng)域的人準(zhǔn)備的。如果你的經(jīng)驗(yàn)是一年或更少,希望在這里列出的一些技巧將幫助你成為更好、更高效的開(kāi)發(fā)者!
閑話少說(shuō),讓我們回顧三十個(gè)創(chuàng)建標(biāo)記的最佳實(shí)踐。
1.保持標(biāo)簽閉合
以前,經(jīng)常見(jiàn)到類似下面的代碼(譯注:這是多久以前啊……):
Some text here. Some new text here. You get the idea.
注意外面包裹的UL/OL標(biāo)簽被遺漏了(誰(shuí)知是故意還是無(wú)意的),而且還忘記了關(guān)閉LI標(biāo)簽。按今天的標(biāo)準(zhǔn)來(lái)看,這是很明顯的糟糕做法,應(yīng)該100%避免??傊3珠]合標(biāo)簽。否則,你驗(yàn)證html標(biāo)簽的時(shí)候可能遇到問(wèn)題。
更好的方式
- Some text here.
- Some new text here.
- You get the idea.
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,還是兩者混合,這樣瀏覽器才能正確解析。
通常有四種文檔類型可供選擇:
關(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)你在埋頭寫(xiě)代碼時(shí),可能會(huì)經(jīng)常順手或偷懶的加上一點(diǎn)行內(nèi)css代碼,就像這樣:
I'm going to make this text red so that it really stands out and makes people take notice!
這樣看起來(lái)即方便又沒(méi)有問(wèn)題。然而,這在你的編碼實(shí)踐中是個(gè)錯(cuò)誤。
在你寫(xiě)代碼時(shí),在內(nèi)容結(jié)構(gòu)完成之前最好不要加入樣式代碼。
這樣的編碼方式就像打游擊,是一種很山寨的做法?!狢hris Coyier
更好的做法是,完成標(biāo)簽部分后,再把這個(gè)P的樣式定義在外部樣式表文件里。
建議
#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ì)
My Favorites Kinds of Corn
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ì)是最佳的方法。
建議
And now you know my favorite kinds of corn.
6.永遠(yuǎn)不要使用內(nèi)聯(lián)javascript?,F(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”方法。
$('a#moreCornInfoLink').click(function() { alert('Want to learn more about corn?'); });
7.邊開(kāi)發(fā),邊驗(yàn)證
很多人并不真正理解標(biāo)準(zhǔn)驗(yàn)證的意義和價(jià)值,筆者在一篇博客中詳細(xì)分析了這個(gè)問(wèn)題。一句話,驗(yàn)證是為你服務(wù)的,不是給你找麻煩的。
如果你剛開(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ō), 下載!
據(jù)筆者觀察,大部分的使用者僅僅使用了Firebug 20%的功能,那真是太浪費(fèi)了,你不妨花幾個(gè)小時(shí)的時(shí)間來(lái)系統(tǒng)學(xué)習(xí)這個(gè)工具,相信會(huì)讓你事半功倍。
資源
●Overview of Firebug
●Debug Javascript With Firebug – video tutorial
10.保持標(biāo)簽名小寫(xiě)
理論上講,html不區(qū)分大小寫(xiě),你可以隨意書(shū)寫(xiě),例如:
Here's an interesting fact about corn.
但最好不要這樣寫(xiě),費(fèi)力氣輸入大些字母沒(méi)有任何用處,并且會(huì)讓代碼很難看.
建議
Here's an interesting fact about corn.
11.使用H1-H6標(biāo)簽
筆者建議你在網(wǎng)頁(yè)中使用其中全部六種標(biāo)記,雖然大部分人只會(huì)用到前四個(gè),但使用最多的H會(huì)有很多好處,比如設(shè)備友好、搜索引擎友好等,不妨把你的P標(biāo)簽都替換成H6。
This is a really important corn fact!
Small, but still significant corn fact goes here.
12.寫(xiě)博客時(shí),請(qǐng)將H1留給文章標(biāo)題
今天筆者在Twitter上發(fā)起一次討論:是該把H1定義到LOGO上還是定義到文章標(biāo)題上,有80%的人選擇了后者。
當(dāng)然具體如何使用要看你的需求,但我建議你在建立博客的時(shí)候,將文章題目定為H1,這對(duì)搜索引擎優(yōu)化(seo)是非常有好處的。
13.下載ySlow
在過(guò)去幾年里,雅虎的團(tuán)隊(duì)在前端開(kāi)發(fā)領(lǐng)域做了許多偉大的工作。前不久,它們發(fā)布了一個(gè)叫ySlow的Firebug擴(kuò)展,它會(huì)分析你的網(wǎng)頁(yè),并返回 一個(gè)“成績(jī)單”,上面細(xì)致分析了這個(gè)網(wǎng)頁(yè)的方方面面,提出需要改進(jìn)的地方,雖然它有點(diǎn)苛刻,但它絕對(duì)會(huì)對(duì)你有所幫助,強(qiáng)烈推薦—— ySlow!
14.使用無(wú)序列表(UL)包裹導(dǎo)航菜單
通常網(wǎng)站都會(huì)有導(dǎo)航菜單,你可以用這樣的方式定義:
如果你想書(shū)寫(xiě)優(yōu)美的代碼,那最好不要用這種方式。
為什么要用UL布局導(dǎo)航菜單? ——因?yàn)閁L生來(lái)就是為定義列表準(zhǔn)備的
最好這樣定義:
15.學(xué)習(xí)如何應(yīng)對(duì)IE
IE一直以來(lái)都是前端開(kāi)發(fā)人員的噩夢(mèng)!
如果你的CSS樣式表基本定型了,那么可以為IE單獨(dú)建立一個(gè)樣式表,然后這樣僅對(duì)IE生效:
這些代碼的意思是:如果用戶瀏覽器是IE6及以下,那這段代碼才會(huì)生效。如果你想把IE7也包含進(jìn)來(lái),那么就把“[if lt IE 7]”改為“[if lte IE 7]”。
16.選擇合適的IDE
不論你是Windows還是Mac用戶,這里都有很多優(yōu)秀的編輯器供你選擇:
Mac 用戶
●Coda
●Espresso
●TextMate
●Aptana
●DreamWeaver CS4 PC 用戶
●InType
●E-Text Editor
●Notepad++
●Aptana
●Dreamweaver CS4
17.上線前,壓縮代碼
通過(guò)壓縮您的CSS和Javascript文件,您可以減少總大小的25%左右,但在開(kāi)發(fā)過(guò)程中不必壓縮,然而,一旦網(wǎng)站完成后,利用一些網(wǎng)絡(luò)壓縮程序或多或少節(jié)省一些帶寬。下面列出一些工具。
Javascript 壓縮服務(wù)
●Javascript Compressor
●JS Compressor
CSS Compression Services
●CSS Optimiser
●CSS Compressor
●Clean CSS
18.精簡(jiǎn),精簡(jiǎn),在精簡(jiǎn)
回望我們大多數(shù)人寫(xiě)的第一個(gè)頁(yè)面,一定會(huì)發(fā)現(xiàn)嚴(yán)重的 “DIV癖”( divitis ),通常初學(xué)者的本能就是把一個(gè)段落用DIV包起來(lái),然后為了控制定位而套上更多的DIV?!?其實(shí)這是一種低效而有害的做法。
網(wǎng)頁(yè)寫(xiě)完后,一定要多次回頭檢查,盡量的減少元素的數(shù)量。 能用UL布局的列表就不要用一個(gè)個(gè)的DIV去布局。
正如寫(xiě)文章的關(guān)鍵是“縮減,縮減,縮減”一樣,寫(xiě)頁(yè)面也要遵循這個(gè)標(biāo)準(zhǔn)。
19.給所有圖片加上“alt”屬性
為圖片加上alt屬性的好處是不言而喻的 —— 這樣可以讓禁用圖片或者使用特殊設(shè)備的用戶無(wú)障礙得了解你的王爺信息,并且對(duì)圖像搜索引擎友好。
糟糕的做法
更好的做法
20.通宵達(dá)旦
我經(jīng)常不知不覺(jué)的學(xué)習(xí)工作到凌晨,我認(rèn)為這是個(gè)很好的狀況。
我的“啊~哈!”時(shí)間( “AH-HA” moments,指柳暗花明或豁然開(kāi)朗的時(shí)刻)通常都發(fā)生在深夜,比如我徹底理解JavaScript的“閉包”概念,就是在這樣一種情況下。如果你還沒(méi)有感受過(guò)這種奇妙的時(shí)刻,那就馬上試試吧!
21.查看源代碼
沒(méi)有什么比模仿你的偶像能讓你更快的學(xué)習(xí)HTML。起初,我們都要甘做復(fù)印機(jī),然后慢慢得發(fā)展自己的風(fēng)格。研究你喜歡的網(wǎng)站頁(yè)面代碼,看看他們是怎么實(shí)現(xiàn)的。這是高手的必經(jīng)之路,你一定要試一下。注意:只是學(xué)習(xí)和模仿他們的編碼風(fēng)格,而不是抄襲和照搬!
留意網(wǎng)絡(luò)上各種炫酷的JavaScript效果,如果看上去是使用了插件,那根據(jù)它源碼中head標(biāo)簽內(nèi)的文件名,就可以找到這個(gè)插件名稱,然后就可以學(xué)習(xí)它據(jù)為己用。
22.為所有的元素定義樣式
這一條在你制作其他公司企業(yè)網(wǎng)站時(shí)尤為必要。你自己不使用blockquote標(biāo)記?那用戶可能會(huì)用,你自己不使用OL?用戶也可能會(huì)。花時(shí)間做一個(gè)頁(yè)面,顯示出ul, ol, p, h1-h6, blockquotes, 等等元素的樣式,檢查一下是否有遺漏。
23.使用第三方服務(wù)
現(xiàn)在互聯(lián)網(wǎng)上流行著許多可以免費(fèi)加在網(wǎng)頁(yè)中的API,這些工具非常強(qiáng)大。它可以幫你實(shí)現(xiàn)許多巧妙的功能,更重要的是可以幫你宣傳網(wǎng)站。
24.掌握Photoshop
Photoshop是前端工程師的一個(gè)重要工具,如果你已經(jīng)熟練掌握HTML和CSS,那不妨多學(xué)習(xí)一下Photshop。
1.觀看Psdtuts+上的視頻課程。
2.花費(fèi)每月25$注冊(cè)成為L(zhǎng)ynda.com的會(huì)員,海量精品課程。
3.推薦“You Suck at Photoshop”系列
4.花費(fèi)幾個(gè)小時(shí)記住盡可能多的PS快捷鍵。
25.學(xué)習(xí)每一個(gè)HTML標(biāo)簽
雖然有些HTML標(biāo)簽很少用到,但你依然應(yīng)該了解他們。比如“abbr”、“cite”等,你必須學(xué)習(xí)它們以備不時(shí)之需。
順便說(shuō)下,如果你不熟悉上面兩個(gè)標(biāo)簽,可以看下下面的解釋:
●abbr 和你估計(jì)的差不多,它是abbreviation的縮寫(xiě)(英語(yǔ)差的估計(jì)不到),“Blvd”能用標(biāo)簽包裹,因?yàn)樗恰癰oulevard”的縮寫(xiě)。(喜大普奔也可以嘍)。
●cite 被用來(lái)作為引用內(nèi)容的標(biāo)題(blockquote)。例如,如果你在你的博客中引用本篇文章,你可以將“給HTML初學(xué)者的三十條最佳實(shí)踐”用包裹,注意它不應(yīng)該被用來(lái)包裹引用的作者,這是常見(jiàn)的誤區(qū)。
26.參與社區(qū)討論
網(wǎng)絡(luò)上有許許多多優(yōu)秀的資源,而社區(qū)中也隱藏著許多高手,這里你既可以自學(xué),也能請(qǐng)教經(jīng)驗(yàn)豐富的開(kāi)發(fā)者。
27.使用reset.css
Css Reset也就Reset Css ,就是重置一些HTML標(biāo)簽樣式,或者說(shuō)默認(rèn)的樣式。
關(guān)于是否應(yīng)該使用CSS Reset,網(wǎng)上也有激烈的爭(zhēng)論,筆者是建議使用的。你可以先選用一些成熟的CSS Reset,然后慢慢演變成適合自己的。
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, img, ins, kbd, q, s, samp, small, strike, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baselinebaseline; background: transparent; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }
28.對(duì)齊元素
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03