根据UI设计完成自适应页面(包括字体大小)

    在自适应这块,首先想到的就是rem这个相对于HTML根元素的单位。但是现在的问题是如何设置基准的fontSize可以避免麻烦切复杂的换算。理所当然的想到基基准的fontsize(即HTML的fontsize)为100px 的话,计算起来就会相对的简单许多。思路没问题,那么又如何根据一张特定的UI设计图写出可以自适应各种屏幕的页面呢。

  我们假如使用的设计图是宽度为1920px,那么我们的基准fontsize应该怎么根据屏幕的大小定呢。这个基准fonzise肯定不是一个定值,因为屏幕大小不一致啊。在此,我们就需要根据屏幕的大小来动态设置基准的fontsize了。

  先看这样一段代码:

   var remWindowWidth=19.2

   document.getElementsByTagName('html')[0].style.fontSize=document.documentElement.clientWidth/remWindowWidth+'px';

   window.onresize = function(){
                  document.getElementsByTagName('html')[0].style.fontSize=document.documentElement.clientWidth/remWindowWidth+'px';
          }

    有没有看懂?这不就是动态设置基准的fontsize么?但是为什么要除以19.2呢?因为我们参考的UI设计图是1920px的呀,要是UI设计图是1360px,那么就会是屏幕的宽度除以13.6.即remWindowWidth = UI设计图的宽度/100,这样的话基准的fontzise在与设计图相同分辨率的情况下就是100px了。至于在别的情况下是不是100px,我们就不用管那么多了,因为在不同分辨率下的基准是不一样的,我们只需要根据设计图走就好了。别的分辨率情况下会自动转化的。

  还有,这个动态设置基准的方法一定要写在文档的最上面哦,要不然都没有基准,怎么显示rem的计算值呀

posted @ 2020-03-16 17:34  翠瓜瓜  阅读(1898)  评论(0编辑  收藏  举报