rem單位

1、使用方法:javascript

一、頭部添加<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />css

二、設置根元素html的font-size做爲標準,我在這裏用的100pxhtml

三、引入自動判斷屏幕的jsjava

四、使用的時候記得換算具體的rem瀏覽器

測試代碼以下:安全

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <style type="text/css">
            html{
                font-size: 100px;
            }
            #test{
                font-size: 5rem;
            }
        </style>
    </head>
    <body>
        <div id="test">
            請拉動屏幕查看字體是否放大
        </div>
        <script type="text/javascript">
            ;(function (doc, win) {
                var docEl = doc.documentElement,
                  resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                  recalc = function () {
                    var clientWidth = docEl.clientWidth;
                    if (!clientWidth) return;
                    docEl.style.fontSize = 100 * (clientWidth / 375) + 'px';
                  };
            
                if (!doc.addEventListener) return;
                win.addEventListener(resizeEvt, recalc, false);
                doc.addEventListener('DOMContentLoaded', recalc, false);
            })(document, window);
        </script>
    </body>
</html>

 

 2、常見問題測試

①爲何要使用CSS邏輯像素數?字體

對於蘋果6手機屏幕來講,750px的頁面寬度是一個安全的最大寬度,保證了移動端頁面兩邊不會留白。注意這裏的px是css邏輯像素,與設備的物理像素是有區別的。如iPhone 6使用的是Retina視網膜屏幕,使用2px x 2px的 device pixel 表明 1px x 1px 的 css pixel,因此設備像素數爲750 x 1334px,而它的CSS邏輯像素數爲375 x 667px。
若是要切移動端頁面,你能夠先把效果圖寬度等比例縮放到375px,很好用。

spa

②爲何要設置html的font-size?scala

rem就是根元素(即:html)的字體大小。html中的全部標籤樣式凡是涉及到尺寸的(如: height,width,padding,margin,font-size。甚至,left,top等)你均可以放心大膽的用rem做單位。
若是你把html的font-size設爲100px,前面說過,rem就是html的字體大小,那麼1rem = 100px。

那麼一個寬60px,高40px元素樣式設置以下:(須要注意設計稿上60px通過css邏輯像素數處理後是30px,即縮小2倍)

width=60px/2/100px=0.3rem

height=40px/2/100px=0.2rem

③爲何不一開始把html的font-size設爲1px?

瀏覽器通常都有最小字體限制,好比谷歌瀏覽器,最小中文字體就是12px,因此實際上沒有辦法讓1rem=1px。

相關文章
相關標籤/搜索