實(shí)現(xiàn)效果圖是最基本的工作
把視覺稿通過頁面代碼的方式表現(xiàn)出來包含了兩個(gè)基本訴求:1.能夠真實(shí)反映視覺稿;2.能夠通過瀏覽器的兼容。這兩個(gè)訴求的達(dá)成需要我們有追求細(xì)節(jié)的態(tài)度和一定的頁面功底,能完成這兩個(gè)內(nèi)容就可以初步進(jìn)入頁面前端的從業(yè)者行列了,但這就代表著我們可以勝任頁面開發(fā)的工作了?不,才剛剛開始!
與設(shè)計(jì)師的溝通和項(xiàng)目的參與
溝通很重要。先拋出幾個(gè)問題:我們有沒有和設(shè)計(jì)師探討過某些效果對(duì)低端瀏覽器渲染效率影響比較大?有沒有探討過部分效果可以用CSS3實(shí)現(xiàn)從而使得結(jié)構(gòu)更加簡(jiǎn)潔清晰?有沒有在代碼和視覺中尋追求過平衡?頁面前端的開發(fā)向基本用戶,編寫的代碼也直接作用在瀏覽器上,我們有義務(wù)對(duì)頁面的穩(wěn)定性和渲染效率負(fù)責(zé)。我們也經(jīng)常碰到項(xiàng)目在總體進(jìn)度壓力下導(dǎo)致的設(shè)計(jì)與頁面前端開發(fā)同步進(jìn)行,這時(shí)更有必要盡量多地獲取項(xiàng)目信息,了解我們還要做些什么,這些可以幫助我們充分考慮重用和框架拓展。
良好的頁面結(jié)構(gòu)
頁面結(jié)構(gòu)的編寫好比蓋房的地基建設(shè),其好壞會(huì)直接影響到CSS代碼的質(zhì)量、js開發(fā)、后臺(tái)開發(fā)還會(huì)影響到以后的頁面拓展、迭代和頁面調(diào)整。拿到視覺稿后,不要忙著動(dòng)手開始,多觀察思考。先分析布局,劃分框架,然后規(guī)劃結(jié)構(gòu),編寫代碼。特別在大型項(xiàng)目中,合理使用模塊化的開發(fā)不論從整體進(jìn)行還是拓展維護(hù)都有相當(dāng)大的好處。
關(guān)于hack
很多同學(xué)在頁面開發(fā)時(shí)上網(wǎng)搜索最多的就是hack了,是否我們完全要依賴hack來實(shí)現(xiàn)頁面兼容性,答案是否定的。大家經(jīng)常比喻IE6向我們?nèi)隽艘粋€(gè)謊,結(jié)果我們要再撒一百個(gè)謊來圓這個(gè)謊。不否認(rèn)IE6經(jīng)常讓我們口吐鮮血,但不代表我們用更多的“謊言”來彌補(bǔ)就可以心安理得。大部分情況下可以通過變換思路調(diào)整HTML結(jié)構(gòu),或使用一些雖然無法解釋但相對(duì)安全的css來干掉hack。誰都無法預(yù)計(jì)使用hack什么時(shí)候會(huì)讓我們?cè)砸粋€(gè)大跟頭。比如觸發(fā)layout或position:relative就可以幫助解決很多IE6的問題。
優(yōu)美的代碼
現(xiàn)在很多web項(xiàng)目功能復(fù)雜,代碼規(guī)模也會(huì)變得很龐大,如何更好地進(jìn)行協(xié)同開發(fā)和維護(hù)是我們面臨的一個(gè)問題。需要考慮完善統(tǒng)一的規(guī)劃,還有要養(yǎng)成良好的代碼開發(fā)習(xí)慣才會(huì)在面臨各種情況時(shí)游刃有余。翻閱頁面代碼,看到合理的標(biāo)簽使用、良好的注釋、清晰的代碼結(jié)構(gòu)、用意準(zhǔn)確的css不僅猶如欣賞一個(gè)藝術(shù)品,更為下游開發(fā)和協(xié)同開發(fā)降低了不小的溝通成本,我們有什么理由不去這么做呢?舉個(gè)反面例子:div濫用是現(xiàn)在比較典型的一個(gè)問題。數(shù)數(shù)看自己使用的標(biāo)簽有多少個(gè)呢?不同的語義都該使用對(duì)應(yīng)的標(biāo)簽代碼,特別是HTML5提供了更豐富的語義化標(biāo)簽,它們都苦苦地在等待戰(zhàn)場(chǎng)上的沖鋒號(hào),讓我們?nèi)ソ夥潘鼈儼桑?