移動端頁面佈局

關於移動端頁面的總結,最近接觸移動端頁面,簡單的介紹幾種頁面佈局吧,之後繼續補充。css

一、移動端頁面須要在頭部添加html

<meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1.0,initial-scale=0.5,user-scalable=no" />

二、移動頁面的佈局方式css3

(1)橫向百分比,縱向像素值segmentfault

能夠採用百分比(相對度量單位)進行盒模型橫向屬性(width、左右內邊距、左右外邊距)的製做,使用em(相對度量單位)實現文字的處理。但盒模型縱向上仍是使用固定像素做爲單位。框架

可是,這樣作可能會致使變形,像素變化時,頁面模塊的寬高比例會變形,對於圖片來講,也有可能致使變形,圖片設置橫向百分比,縱向會自動等比例縮放,若是父級元素高度固定,裏面的img就會出現變形(壓縮或者拉伸)的問題。佈局

(2)響應式佈局字體

咱們可使用一些流行起來的框架進行響應式佈局,有BootStrap框架等;咱們也可使用css3屬性,@media screen,經過媒體查詢,對不一樣的手機像素各寫一套代碼,這種方式後期維護起來很麻煩。spa

(3)使用em或rem單位設置元素的寬高度scala

如今最流行的是使用rem單位進行開發,rem是依賴於根元素計算的單位。設計

這個必須添加一個樣式

 

html(font-size:百分比;)

 

百分比的設定使用rem更方便,例如html { font-size:62.5% } 那麼1rem就等於10px,百分比的設定給本身提供了方便。

這個會出現一個問題,假如說margin設置了1rem,屏幕變化時,margin的距離不會變化,空隙看起來會變大或變小,與周圍元素的比例就會不對稱,可能會跟設計圖之間有出入。

(4)響應式的使用rem單位

使用一段js動態的設定html的font-size屬性。

在項目css中(注意不要被公共的base、common之類的影響了,資源加載順序也是蠻重要的),先把html的fontSize設置爲 100px(或者加上媒體查詢代碼), 避免加載未完成時候樣式錯亂;

此時1rem=100px

css:

 

html {font-size:100px;}

 

js:

(function ($, window) {
        window.addEventListener('DOMContentLoaded', function () {
            var shuping = 'onorientationchange' in window ? 'orientationchange' : 'resize';
            var timer = null;

            //設置字體
            function setFontSize() {
                var w = document.documentElement.clientWidth || document.body.clientWidth;
                document.documentElement.style.fontSize = parseInt(100 * w / 設計稿的寬度) + 'px';
            }
            setFontSize();
            window.addEventListener(shuping, function () {
                clearTimeout(timer);
                timer = setTimeout(setFontSize, 300);
            }, false);
        }, false);
    })($, window);

參考:https://segmentfault.com/a/1190000003690140

相關文章
相關標籤/搜索