移動端適配概念

2021-10-04 00:00:59 字數 2396 閱讀 9835

在千峰逆戰班學習的第二十七天

一步乙個腳印,越努力越輕鬆,越堅強越幸運!

繼續加油,奧利給!

移動裝置螢幕尺寸不一樣,不同型號的手機會有不同大小的螢幕,不同型號的平板也是,就算是我們的pc端也是會有不同大小的螢幕;適配用來做布局的,移動端比較麻煩-裝置太多,尺寸也不一樣;而且設計師設計的尺寸 和我們切圖的尺寸也不一樣。

注:h5 頁面視窗自動調整到裝置寬度,並禁止使用者縮放頁面,在不同尺寸的手機裝置上,頁面達到合理的展示或者保持統一效果的等比縮放看起來差不太多。

手機解析度,檢視以下**:

字型寬高

間距影象

1、百分比適配

根據父級算百分比,需配合其它布局使用

根據父級的寬度絕對自己的寬度,寬度好算,高度沒法算;

所以建議:高度不變,寬度變化的時候 用 百分比;

百分比布局案例:360 等

2、viewport

在移動端 viewport 視口就是瀏覽器顯示頁面內容的螢幕區域。在 viewport 中有兩種視口,分別表示為, visual viewport(可視視口)和 layout viewport(布局視口),viewport縮放適配 把所有機型的css畫素設定成一致。

"viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0, user-scalable=no">
width = device-width:寬度等於當前裝置的寬度 initial-scale: 初始的縮放比例(預設設定為 1.0)

minimum-scale:允許使用者縮放到的最小比例(預設設定為 1.0) maximum-scale:允許使用者縮放到的最大比例(預設設定為 1.0) user-scalable:使用者是否可以手動縮放(預設設定為 no,因為我們不希望使用者放大縮小頁面)

設定meta標籤的目的:

讓 visual viewport(可視視口)和 layout viewport(布局視口)大小相等

裝置視窗(iphone 6 ...)      顯示內容的視窗(html 的寬)
ui -> 設計網頁 -> 會不會根據不同裝置設計不同網頁? 移動端 pc ipad 一套移動端網頁 -> 適配不同大小的移動端裝置 -> 前端人員 (咱們) 移動端頁面 以 iphone 6 為標準 -> 網頁 -> 適配

1px = 4 ppi :

1px -> css 畫素 (邏輯)

4 ppi -> 裝置畫素(物理畫素)

iphone 4 css 畫素 320 * 480

裝置畫素 640 * 960

dpr : 裝置畫素比

裝置畫素 640 * 960 / css 畫素 320 * 480

1 個 css 畫素 (px) = 4 個裝置畫素 (ppi)

寬是 2 倍的關係 — 1 個 css 畫素 的寬 = 2 個裝置畫素 的寬

高是 2 倍的關係 — 1 個 css 畫素 的高 = 2 個裝置畫素 的高

dpr = 2;(很重要)

ui 根據 裝置畫素 640 * 960

css 畫素 320 * 480

怎麼讓裝置畫素 640 * 960 內容 顯示在 css 畫素 320 * 480 的範圍內? 裝置畫素/dpr(2)

font-size: 預設情況下是 16px = 1em = 1rem

rem : 單位 始終是相對根標籤 html 的 font-size 來顯示大小的;

em : em 的大小是根據自身或者最近的父元素的 font-size:的值來顯示的;

預設情況下: 1rem = 16px

html = font-size:100px; 1rem = html font-size:100px; 為了好計算; 注:html 的 font-size 要大於 12px;

vw 和 vh 是視口(viewport units)單位:

vw: 視口寬度 不管螢幕的解析度是多大 ,都是固定的 100vw = 當前裝置的寬

vh: 視口高度 不管螢幕的解析度是多大 ,都是固定的 100vh = 當前裝置的高

以 iphone 6 為案例: 375 * 667 ; (標準)

375px = 100% = 100vw

1vw = 1% = 3.75px

html: font-size:100px = 26.66667vw

以 iphone 4 為案例: 320 * 480 ;

移動端適配

js適配方案 function resizefun else body removeclass hightscreen shortscreen portrait var ratio window width window height if screenstate portrait else if ...

移動端適配

不論裝置寬度是多少,統一把布局視口設定成設計稿的寬度。假設設計稿寬度是375px。不管螢幕多大,都看作375px。width只能改變布局視口,不能改變視覺視口。定義設計稿的寬度 計算當前裝置的寬度document.documentelement.offsetwidth scale 裝置寬度 設計搞寬...

移動端適配

無法對1px邊框的問題進行處理 裝置畫素比的問題 採用rem,px單位進行適配 使用js動態的計算當前的rem單位取值。即 1 rem px 假如設計稿的寬度為 750px 元素測量得到的寬度為 100px 那麼在視口寬度為 375px下 元素的寬度就變為 50 px 元素寬度從 px 單位轉為 r...