自适应PC端网页制作使用rem

做一个PC端的网页,设计图是1920X1080的. 要在常见屏上显示正常(比例正确可) 1280X720 1366X768 1440X900 1920X1080

使用了几种办法

1.内容在一屏内显示的,采用了(内容框)上下左右居中的办法,里面的内容绝对于这个内容框定位.这样一来,在不同大小屏中,内容总是在中间,看起来较正常

2.长,宽,left,top,right,bottom都采用了rem,并且HTML的font-size设置的是100px,一是觉得计算方便,二是如果设为10px,谷歌会不兼容.此时body的font-size设置为正常值,12px.不然的话,其它的DOM都会继承HTML的100px的font-size,导致效果巨大.

3.当浏览器窗口变化时,内容的大小以及相对位置也会相应变化,这个依靠JS修改HTML的font-size值实现.如下:

$(window).resize(function ()// 绑定到窗口的这个事件中
{
  var whdef = 100/1920;// 表示1920的设计图,使用100px的默认值
  var wH = window.innerHeight;// 当前窗口的高度
  var wW = window.innerWidth;// 当前窗口的宽度
  var rem = wW * whdef;// 以默认比例值乘以当前窗口宽度,得到该宽度下的相应font-size值
  $('html').css('font-size', rem + "px");
});

计算font-size的逻辑是:

 当设计图是1920时,规定HTML的font-size的值是100. 也就是,当浏览器窗口调整到1920px时,1rem=100px,如果要设定一个16px(1920设计图时)的字体,那么rem设置值是0.16.

 当窗口调整到非设计图的宽度如winWidth时,HTML的font-size值是:(100/1920)*winWidth.也就是说,1920下font-size是100px.那么winWidth下,按比例计算.

 或者可以这样:窗口宽1920时,font-size是100px,那么winWidth时,相当于窗口变化为1920时的 (winWidth / 1920).根据比例公式,winWidth时的font-size就是 (winWidth/1920)*100

        winWidth / 1920 = font-size(px) / 100 

        100 / 1920 = font-size(px) / winWidth 这个公式容易理解

如果调整窗口大小,会发现HTML的font-size值在变化,同时,使用rem设置的DOM也在变化.因为rem正是参考HTML的font-size值来计算的

4.如果是在手机上,平板电脑上,更要使用rem,由于手机上一般不会调整浏览器大小,所以可以在页面载入时,设置一次即可

$(function(){

  var whdef = 50/750;// 表示750的设计图,使用50PX的默认值
  var wH = window.innerHeight;// 手机窗口的高度
  var wW = window.innerWidth;// 手机窗口的宽度
  var rem = wW * whdef;// 以默认比例值乘以当前窗口宽度,得到该宽度下的相应font-size值
  $('html').css('font-size', rem + "px");

})

5.使用rem是个有效的办法,加上BOOTSTRAP SWIPER这些工具,可以比较省事的做出一些简单的效果

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值