请问手机端开发时;css样式如何写;才能做到网页随屏幕大小变化而变化;

请问手机端开发时;css样式如何写;才能做到网页随屏幕大小变化而变化;为什么我这样写不行????
clipboard.png

阅读 5.5k
3 个回答

可以用REM

用js实时改变html标签上的rem值,其他元素设置个rem大小就会实时变化

(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 = 20 * (clientWidth / 320) + 'px';
    };
  if (!doc.addEventListener) return;
  win.addEventListener(resizeEvt, recalc, false);
  doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

最后这里有个这种思路的demo页面可以看看源码
http://m.dx.com/

你这个问题问得太大了,可以有一本书的回答量。对布局来讲,建议学习一下flex布局。

同rem

(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 = 20 * (clientWidth / 320) + 'px';//屏幕宽度,html设置20px
            };

        if(!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener('DOMContentLoaded', recalc, false);
    })(document, window);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题