640宽度的设计图在移动端的适配

<script>
    (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 / 640) + 'px';
    if(clientWidth>640){
        docEl.style.fontSize =100 + 'px';
    }
  };
 
  if (!doc.addEventListener) return;
  win.addEventListener(resizeEvt, recalc, false);
  doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
</script>

目前我只用了这种方式,宽度大于640的时候,默认全部设置为100PX;
小于640的时候,进行动态更改HTML的字体大小,
当然网上还有动态改变viewport的缩放值和HTML字体大小。

我这边的需求是PC上也要显示正常,如果动态采用HTML字体大小的话,
页面的字体就会超大,不知道大家一把采用什么方式解决?

阅读 5.2k
4 个回答

css媒介查询配合rem作为单位就可以了

我一般是这样的,设定当页面超过多大的时候,就统一字体大小,这样就不会特别大,然后可以也限制body的宽度,不至于拉长百分百。

@media screen and (min-width:500px){
    html{font-size: 32px !important;}
}
body{
    max-width:640px;
    margin:0 auto;
}

谢邀先!
用JS不会先大后变小么?
响应式CSS就可以了吧?不过,有个前提就是用比较现代化的浏览器;
以下是例子:

@media (min-width: 1px) and (max-width:640px) {
    font-size:16px;
}
@media (min-width: 641px) and (max-width:1280px) {
    font-size:18px;
}
@media (min-width: 1280px) {
    font-size:20px;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题