摘要:屏幕適配是移動(dòng)端開發(fā)中不可避免的一個(gè)問題,也是前端人員必須了解清楚的一個(gè)問題。了解移動(dòng)端的知識(shí)是用戶網(wǎng)頁的可視區(qū)域。移動(dòng)端適配的幾種方案是指相對于根元素的字體大小的單位,我們可以通過設(shè)置的字體大小就可以控制的大小。
屏幕適配是移動(dòng)端開發(fā)中不可避免的一個(gè)問題,也是前端人員必須了解清楚的一個(gè)問題。
了解移動(dòng)端的知識(shí)viewport
viewport是用戶網(wǎng)頁的可視區(qū)域。手機(jī)瀏覽器是把頁面放在一個(gè)虛擬的"窗口"(viewport)中,通常這個(gè)虛擬的"窗口"(viewport)比屏幕寬,這樣就不用把每個(gè)網(wǎng)頁擠到很小的窗口中(這樣會(huì)破壞沒有針對手機(jī)瀏覽器優(yōu)化的網(wǎng)頁的布局),用戶可以通過平移和縮放來看網(wǎng)頁的不同部分。
像素
css中的像素只是一個(gè)抽象的單位,早期的手機(jī)屏幕像素密度較低,一個(gè)css像素等于一個(gè)物理像素。但是隨著手機(jī)的屏幕像素密度越來越高,比如Retina,相同的手機(jī)尺寸,分辨率卻提高了一倍,這就意味著同樣大小的屏幕上,像素多了一倍,這時(shí)一個(gè)css像素是等于兩個(gè)物理像素的。
在移動(dòng)端瀏覽器中,window對象有一個(gè)dpr屬性(設(shè)備物理像素和設(shè)備獨(dú)立像素的比例),也就是說dpr=物理像素/獨(dú)立像素,所以在Retina屏幕中,dpr=2,看圖說話。
meta
在移動(dòng)端開發(fā)時(shí),我們需要在頭部加上一句
width:控制viewport的大小,可以指定的一個(gè)值或者特殊的值,如device-width為設(shè)備的寬度(單位為縮放為100%時(shí)的CSS像素)。
height:和width相對應(yīng),指定高度。
initial-scale:初始縮放比例,也即是當(dāng)頁面第一次load的時(shí)候縮放比例。
maximum-scale:允許用戶縮放到的最大比例。
minimum-scale:允許用戶縮放到的最小比例。
user-scalable:用戶是否可以手動(dòng)縮放。
移動(dòng)端適配的幾種方案rem
rem是指相對于根元素的字體大小的單位,我們可以通過設(shè)置html的字體大小就可以控制rem的大小。
需要注意的是,字體的大小不要用rem,我們可以根據(jù)不同的dpr做相應(yīng)的處理。
方法一
可以用css3的媒體查詢@media,這種方法可以適配大部分機(jī)型。
html { font-size : 20px; } @media only screen and (min-width: 401px){ html { font-size: 25px !important; } } @media only screen and (min-width: 428px){ html { font-size: 26.75px !important; } } @media only screen and (min-width: 481px){ html { font-size: 30px !important; } } @media only screen and (min-width: 569px){ html { font-size: 35px !important; } } @media only screen and (min-width: 641px){ html { font-size: 40px !important; } }
方法二
想要實(shí)現(xiàn)多終端適配,這里推薦手淘團(tuán)隊(duì)的lib-flexible庫,具體實(shí)現(xiàn)方法可以參考https://github.com/amfe/artic...
方法三
css3的新單位vw,vh。1vw等于可視區(qū)寬度(屏幕的可視區(qū)域即布局區(qū)域)的百分之一,1vh等于可視區(qū)高度的百分之一。可惜這個(gè)單位目前還有很多瀏覽器不支持。
目前我知道的方法就這幾個(gè),如果還有希望大家補(bǔ)充。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81559.html
摘要:但是,從字體上來說雪碧圖制作,使用以及相關(guān),圖文。由于采用了編譯,所以能夠保證在瀏覽器不支持標(biāo)準(zhǔn)布局的情況下,回滾到舊版本的,保證移動(dòng)設(shè)備中能呈現(xiàn)出一樣的布局效果。我不想陷入和的紛爭,但是有一件事是確定的極大的提升了移動(dòng)端 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 ...
摘要:但是,從字體上來說雪碧圖制作,使用以及相關(guān),圖文。由于采用了編譯,所以能夠保證在瀏覽器不支持標(biāo)準(zhǔn)布局的情況下,回滾到舊版本的,保證移動(dòng)設(shè)備中能呈現(xiàn)出一樣的布局效果。我不想陷入和的紛爭,但是有一件事是確定的極大的提升了移動(dòng)端 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 ...
摘要:我的職業(yè)是前端工程師入門不是應(yīng)該很簡單嗎前端掘金入門前端,是一件很難的事嗎在今天,我也沒有想好一個(gè)答案,也不知道怎樣給出一個(gè)答案。其他不多說了,這次的內(nèi)容主要深入理解及應(yīng)用前端掘金幾種常見的邊框用法。 GitHub 上學(xué)習(xí)前端開發(fā)的資料(不定期更新) - 前端 - 掘金GitHub 上學(xué)習(xí)前端開發(fā)的資料(不定期更新)... JS 進(jìn)階篇: 這可能是關(guān)于閉包最好的一篇文章 - 前端 - ...
摘要:我的職業(yè)是前端工程師入門不是應(yīng)該很簡單嗎前端掘金入門前端,是一件很難的事嗎在今天,我也沒有想好一個(gè)答案,也不知道怎樣給出一個(gè)答案。其他不多說了,這次的內(nèi)容主要深入理解及應(yīng)用前端掘金幾種常見的邊框用法。 GitHub 上學(xué)習(xí)前端開發(fā)的資料(不定期更新) - 前端 - 掘金GitHub 上學(xué)習(xí)前端開發(fā)的資料(不定期更新)... JS 進(jìn)階篇: 這可能是關(guān)于閉包最好的一篇文章 - 前端 - ...
摘要:因?yàn)橛脩舨挥迷诘谝淮芜M(jìn)入應(yīng)用時(shí)下載所有代碼,用戶能更快的看到頁面并與之交互。譯高階函數(shù)利用和來編寫更易維護(hù)的代碼高階函數(shù)可以幫助你增強(qiáng)你的,讓你的代碼更具有聲明性。知道什么時(shí)候和怎樣使用高階函數(shù)是至關(guān)重要的。 Vue 折騰記 - (10) 給axios做個(gè)挺靠譜的封裝(報(bào)錯(cuò),鑒權(quán),跳轉(zhuǎn),攔截,提示) 稍微改改都能直接拿來用~~~喲吼吼,喲吼吼..... 如何無痛降低 if else 面...
閱讀 1454·2021-11-24 09:39
閱讀 3722·2021-11-24 09:39
閱讀 1903·2021-11-16 11:54
閱讀 1486·2021-09-30 09:47
閱讀 1760·2021-09-26 10:16
閱讀 2369·2021-09-22 15:33
閱讀 1488·2021-09-14 18:01
閱讀 2485·2021-09-07 09:59