移動端 響應式中rem的坑

2021-09-12 21:24:14 字數 1179 閱讀 9448

1、移動端做響應式布局用rem是目前移動端開發比較流行的一種適配方式,但是這種方式在一些方面卻存在著一些缺陷。

寬度方面來看

目前主流的寬度: 360px, 375px, 414px等,外加乙個小尺寸的320px。 

從內容來看,我們的內容一般為文字或。

於是我們得出第乙個結論:既然文字不需要適應各種視窗大小變化,所以單位設定px是完全沒有問題的。

得出第二個結論:會根據使用場景或用px,或用%(當然也可以使用更高階的vw)

得出第三個結論:如果只考慮寬度的不確定,其實rem完全可以不用。

當然rem還有另一種妙用,就是當做vw的替代品來說,具體參考:關於移動端百分比寬度的幾種實現

高度方面來看

對於高度不確定,90%的時候我們是不關心的,因為有滾動。但是有一種情況我們必須要關心:內容要一屏顯示,或者某些內容必須要在首屏顯示

當然最簡單的辦法那肯定是以最小的高度來做,但是對不起,設計師給我們的設計圖肯定不是以最小高度來的哈哈。現在一般是以iphone 6為設計標準,高度為667px,那麼現在問題來了,怎麼搬到480px的高度上去呢?

於是該亮出我們的media queries這把寶劍了;

在480px中顯示,我們縮小了及文字。

現在我們的問題來了,這個時候是不是要用rem呢?

在回答這個問題之前,先問下自己,如果不用rem,文字用px單位,用百分比單位是否可以搞定,答案當然是肯定的,因為我這裡就是這麼做的。

現在我們換成rem來解決,首先我們期望的目標是文字與都使用rem單位,然後只通過media queries改變html元素的font-size大小就可以完成我們需要的結果。

看起來是挺簡單的,於是我們就開始試,但是我們面臨乙個問題的縮小比例與文字一般是不一樣的,如文字可能從rem換算後的16px縮到14px或12px大小,但是估計就不止了,所以就悲劇了,我們還是得通過media queries去改變文字或的大小。

所以說rem並不能讓你一勞永逸解決問題,如這種高度不確定的問題,本來就需要發揮我們的智商,通過media queries這裡減少一分,那裡減少二分,然後拼湊拼湊,達到乙個正好一屏顯示好的效果。

問題的根本是media queries,而不是rem,rem只是我們以為的乙個簡單而實際並不一定簡單的解決辦法,回歸到本質,px及%也許比rem還簡單。

移動端 使用REM進行的響應式布局

工具viewtorem px轉換到rem 自動預處理 rem的定義 rem是相對於根元素來設定字型大小的,這樣就意味著,我們只需要在根元素確定乙個參考值,在根元素中設定多大的字型,這完全可以根據您自己的需求。rem與em px的區別 px 畫素,比較精確的單位,但不好做響應式布局 em 以父節點fo...

Web移動端頁面 響應式和動態REM

鄙人最近才剛剛開始學習一些關於移動端的知識,還只是個小白,文中可能有許多理解錯誤,望指出,請多多見諒。顧名思義響應式頁面就是能做出響應的頁面,它的頁面效果不是定死的,會隨著使用者的改變而改變。如何著手響應式有以下幾個思考的方向 找乙份設計圖 使用media query 隱藏元素 新增meta vie...

移動端(響應式)

查詢 mdn stylesheet media max width 800px href example.css 複製 mobile first原則 響應式設計最好mobile first原則優先,不過pc first也可以,只不過現在一半以上的使用者都是用手機在訪問頁面 為實現響應式,可以根據不同...