摘要:屏幕適配是移動端開發中不可避免的一個問題,也是前端人員必須了解清楚的一個問題。了解移動端的知識是用戶網頁的可視區域。移動端適配的幾種方案是指相對于根元素的字體大小的單位,我們可以通過設置的字體大小就可以控制的大小。
屏幕適配是移動端開發中不可避免的一個問題,也是前端人員必須了解清楚的一個問題。
了解移動端的知識viewport
viewport是用戶網頁的可視區域。手機瀏覽器是把頁面放在一個虛擬的"窗口"(viewport)中,通常這個虛擬的"窗口"(viewport)比屏幕寬,這樣就不用把每個網頁擠到很小的窗口中(這樣會破壞沒有針對手機瀏覽器優化的網頁的布局),用戶可以通過平移和縮放來看網頁的不同部分。
像素
css中的像素只是一個抽象的單位,早期的手機屏幕像素密度較低,一個css像素等于一個物理像素。但是隨著手機的屏幕像素密度越來越高,比如Retina,相同的手機尺寸,分辨率卻提高了一倍,這就意味著同樣大小的屏幕上,像素多了一倍,這時一個css像素是等于兩個物理像素的。
在移動端瀏覽器中,window對象有一個dpr屬性(設備物理像素和設備獨立像素的比例),也就是說dpr=物理像素/獨立像素,所以在Retina屏幕中,dpr=2,看圖說話。
meta
在移動端開發時,我們需要在頭部加上一句
width:控制viewport的大小,可以指定的一個值或者特殊的值,如device-width為設備的寬度(單位為縮放為100%時的CSS像素)。
height:和width相對應,指定高度。
initial-scale:初始縮放比例,也即是當頁面第一次load的時候縮放比例。
maximum-scale:允許用戶縮放到的最大比例。
minimum-scale:允許用戶縮放到的最小比例。
user-scalable:用戶是否可以手動縮放。
移動端適配的幾種方案rem
rem是指相對于根元素的字體大小的單位,我們可以通過設置html的字體大小就可以控制rem的大小。
需要注意的是,字體的大小不要用rem,我們可以根據不同的dpr做相應的處理。
方法一
可以用css3的媒體查詢@media,這種方法可以適配大部分機型。
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; } }
方法二
想要實現多終端適配,這里推薦手淘團隊的lib-flexible庫,具體實現方法可以參考https://github.com/amfe/artic...
方法三
css3的新單位vw,vh。1vw等于可視區寬度(屏幕的可視區域即布局區域)的百分之一,1vh等于可視區高度的百分之一。可惜這個單位目前還有很多瀏覽器不支持。
目前我知道的方法就這幾個,如果還有希望大家補充。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81559.html
摘要:我的職業是前端工程師入門不是應該很簡單嗎前端掘金入門前端,是一件很難的事嗎在今天,我也沒有想好一個答案,也不知道怎樣給出一個答案。其他不多說了,這次的內容主要深入理解及應用前端掘金幾種常見的邊框用法。 GitHub 上學習前端開發的資料(不定期更新) - 前端 - 掘金GitHub 上學習前端開發的資料(不定期更新)... JS 進階篇: 這可能是關于閉包最好的一篇文章 - 前端 - ...
摘要:我的職業是前端工程師入門不是應該很簡單嗎前端掘金入門前端,是一件很難的事嗎在今天,我也沒有想好一個答案,也不知道怎樣給出一個答案。其他不多說了,這次的內容主要深入理解及應用前端掘金幾種常見的邊框用法。 GitHub 上學習前端開發的資料(不定期更新) - 前端 - 掘金GitHub 上學習前端開發的資料(不定期更新)... JS 進階篇: 這可能是關于閉包最好的一篇文章 - 前端 - ...
摘要:因為用戶不用在第一次進入應用時下載所有代碼,用戶能更快的看到頁面并與之交互。譯高階函數利用和來編寫更易維護的代碼高階函數可以幫助你增強你的,讓你的代碼更具有聲明性。知道什么時候和怎樣使用高階函數是至關重要的。 Vue 折騰記 - (10) 給axios做個挺靠譜的封裝(報錯,鑒權,跳轉,攔截,提示) 稍微改改都能直接拿來用~~~喲吼吼,喲吼吼..... 如何無痛降低 if else 面...
閱讀 1397·2021-11-24 09:39
閱讀 3687·2021-11-24 09:39
閱讀 1859·2021-11-16 11:54
閱讀 1464·2021-09-30 09:47
閱讀 1713·2021-09-26 10:16
閱讀 2342·2021-09-22 15:33
閱讀 1453·2021-09-14 18:01
閱讀 2436·2021-09-07 09:59