很遺憾,因您的瀏覽器版本過低導(dǎo)致無法獲得最佳瀏覽體驗,推薦下載安裝谷歌瀏覽器!
金動力網(wǎng)絡(luò)響應(yīng)式網(wǎng)站設(shè)計開發(fā)再次有了新升級。下面 引用來源于網(wǎng)絡(luò)的一篇文章,對 自適應(yīng)網(wǎng)頁作一個詳細(xì)闡述。
自適應(yīng)網(wǎng)頁不像傳統(tǒng)網(wǎng)頁僅僅需考慮一種情況,不僅僅***是提交一套設(shè)計完成稿就完事兒了,它給設(shè)計、前端工程師和開發(fā)團(tuán)隊之間的協(xié)作方式帶來新的挑戰(zhàn)。在一個繁雜商品自適應(yīng)的項目里,交互每個階段該產(chǎn)出什么內(nèi)容?交互與視覺怎樣協(xié)作?前端工程師何時介入?哪些項目讓后端開發(fā)來做更合理?我們得到了一些答案。
自適應(yīng)設(shè)計之所以叫自適應(yīng)“設(shè)計”而不叫自適應(yīng)“技術(shù)”,***是因為它***是一項設(shè)計先行的工作。需要設(shè)計先明確好響應(yīng)方式再實現(xiàn)出來,決不能出一套設(shè)計完成稿后等著前端工程師看情況把它變成自適應(yīng)網(wǎng)頁。新鄉(xiāng)網(wǎng)絡(luò)公司金動力網(wǎng)絡(luò)是一家集新鄉(xiāng)網(wǎng)站建設(shè)、新鄉(xiāng)微信營銷和新鄉(xiāng)網(wǎng)絡(luò)推廣于一體的新鄉(xiāng)***營銷公司。
習(xí)慣了電腦端網(wǎng)頁的前端工程師可能更加喜歡用電腦端來掌控大小,然而在自適應(yīng)的網(wǎng)頁中出現(xiàn)更多的***是em和rem,用這些來掌控頁面字體大小甚至***是框體大小對整體的效果非常明顯。
例如,我的頁面字體設(shè)置***是10px/20px/30px等等有差異的,網(wǎng)站上有差異的地方自然頁面字體會有大小的差異這***是必然的,假如一個網(wǎng)頁足夠繁雜或***是文字足夠多的話,這些頁面字體的大小設(shè)置也***是一個量很大的工作,不過在自適應(yīng)網(wǎng)頁中你設(shè)計完這些并不僅僅***是完事:你用手機瀏覽一下網(wǎng)頁會發(fā)現(xiàn)頁面字體會撐的很大,甚至有個別標(biāo)題撐滿了手機屏幕,這對移動端客戶的體驗影響可想而知。因此你要開始寫媒體查詢,然后發(fā)現(xiàn)一個網(wǎng)頁有幾十個頁面字體需要設(shè)置,假如把這些在有差異顯示分辨率下一一調(diào)整你可能需要寫百句以上的css代碼,然而假如你用em/rem,就能夠把工作量大大減小,同時還能夠保證頁面字體的統(tǒng)一比例。新鄉(xiāng)網(wǎng)絡(luò)公司金動力網(wǎng)絡(luò)是一家集新鄉(xiāng)網(wǎng)站建設(shè)、新鄉(xiāng)微信營銷和新鄉(xiāng)網(wǎng)絡(luò)推廣于一體的新鄉(xiāng)***營銷公司。
關(guān)于em/rem的解釋大家可以自行查詢,網(wǎng)上這類教程數(shù)不勝數(shù),實際上這些就和px一樣簡單,當(dāng)我開始用之后也不過僅僅花了幾分鐘熟悉這些。就像前面說的一樣,你也可以用這些來掌控框體的大小,然后再自適應(yīng)的網(wǎng)頁下統(tǒng)一縮小放大,當(dāng)然這需要足夠多的計算。另外值得一提的***是頁面字體圖標(biāo)也可以用這些來掌控,具體可以參考有差異“頁面字體圖標(biāo)”的官方文檔。
解決縮小放大問題的思路有好幾種,適合新手的無疑***是百分比式的布局,在關(guān)鍵的width設(shè)置下百分比能夠起到出乎意料的效果。
我并不僅僅***是推崇全部使用百分比來布局,然而有時候這可能會大大減少工作量,給box1width設(shè)置它會自動以width填充滿整個瀏覽器,不管你***是手機電腦端什么內(nèi)容顯示分辨率,它總***是有很好的表現(xiàn)。這時候你給box1下面的ul設(shè)置左右2%的margin也***是如此,隨著瀏覽器窗口大小改變時ul的 實際margin大小也會隨著變化,這么一說大家多少也都理解了百分比布局的概念。
當(dāng)然有時候也不會有想象中的效果,特別***是在較小的顯示分辨率上時,原來看似不錯的百分比設(shè)定會顯得很怪,因為自適應(yīng)多數(shù)時候僅僅約定width,長度都***是由文檔和瀏覽器來決定的,這時候想要在所有的終端上都有很好的體驗就需要Media Query來解決問題。
通俗的解釋就***是CSS的媒體查詢功能,它既能夠準(zhǔn)確的識別設(shè)備也能夠自己設(shè)定顯示分辨率或者width,w3cshool里有Media Query的參考文檔,假如你嫌文檔太多我可以粗略的解釋一下它的工作原理。新鄉(xiāng)網(wǎng)絡(luò)公司金動力網(wǎng)絡(luò)是一家集新鄉(xiāng)網(wǎng)站建設(shè)、新鄉(xiāng)微信營銷和新鄉(xiāng)網(wǎng)絡(luò)推廣于一體的新鄉(xiāng)***營銷公司。
在有必要的時候你可能會給一個box設(shè)置height,當(dāng)box擁有500pxheight時它可能在電腦端上看起來不錯,然而用手機打開時就有些嚇人了,整個box充斥了網(wǎng)頁,里面的內(nèi)容排列混亂,嚴(yán)重的影響了客戶體驗,這時候你就可以使用媒體查詢Media Query,用它單獨的為有差異大小的設(shè)置有差異的height,比如640/320打開時box時就分別處于300/200px的height,這樣看起來就不錯了。
大家可能會想到import,實際上媒體查詢就可以這樣理解,它為有差異的width或設(shè)備設(shè)定了類似于import的css規(guī)則,保證了實際渲染完成網(wǎng)頁的效果。
媒體查詢也可以為一個網(wǎng)頁準(zhǔn)備多個有差異的CSS,當(dāng)設(shè)備大小有差異時使用有差異的CSS文件,假如樣式文件比較大也可以考慮這種方法。
我見到過和實際使用的前端工程師框架中,不少都***是富前端工程師類型的設(shè)計,并不建議新手前端工程師盲目的使用框架來布局,不管框架看起來多美好。在實際的使用過程中大家可能會發(fā)現(xiàn)很多問題,比如類名太多太繁雜(在沒有很多的css經(jīng)驗時可能對約定的類名所知甚少)、樣式?jīng)_突。引入資源過多導(dǎo)致網(wǎng)頁繁重、偏離設(shè)計效果等等。
就拿bootstrap來說,假如你要設(shè)計一個類似于google的查詢框就顯得很難,google類型的查詢框?qū)嶋H上***是將一個input包含在box里面,然后在這個box里面再加上左右圖標(biāo),假如你用bootstrap來做可能會出現(xiàn)很多莫名奇妙的沖突,然而實際上你得到了什么內(nèi)容呢?一個圓角一個行高?還***是他的百分比width呢?這些用css來寫僅僅不過***是幾句代碼的事。
在這個新的端層里,前端工程師的工程師可以根據(jù)有現(xiàn)實的決定權(quán),這會使得在不觸及后端架構(gòu)的情況下,讓所有設(shè)備上的體驗更為快速、響應(yīng)、可用。