天天看点

动态设置rem的相对值

在运用rem时,想要在页面变化时达到自适应的效果,那么rem的相对值,也就是body或者html的字体大小要成比率进行变化,可以用以下方法:

(function () {

resize();

// 动态设置font-size大小z

function resize() {

var wH = window.innerHeight; // 当前窗口的高度

var wW = window.innerWidth; // 当前窗口的宽度

var whdef = 16 / 1920;// 表示1920的设计图,使用16PX的默认值

var html = document.documentElement;

if(wW>1200){

var rem = wW * whdef; // 以默认比例值乘以当前窗口宽度,得到该宽度下的相应FONT-SIZE

html.style.fontSize = rem + “px”; //适用于PC网站

}else{

var rem = 1200 * whdef;

html.style.fontSize = rem + “px”;

}

}

// 监听窗口大小改变事件

window.onresize = resize;

})();

提供一个将px转化为rem的平台:http://www.ofmonkey.com/front/rem

如果觉得将px转化为rem比较麻烦,还可以用另一种方式:

(function () {

resize();

// 动态设置font-size大小z

function resize() {

var wH = window.innerHeight; // 当前窗口的高度

var wW = window.innerWidth; // 当前窗口的宽度

var whdef = 100 / 1920;// 表示1920的设计图,使用16PX的默认值

var html = document.documentElement;

if(wW>1200){

var rem = wW * whdef; // 以默认比例值乘以当前窗口宽度,得到该宽度下的相应FONT-SIZE

html.style.fontSize = rem + “px”; //适用于PC网站

}else{

var rem = 1200 * whdef;

html.style.fontSize = rem + “px”;

}

}

// 监听窗口大小改变事件

window.onresize = resize;

})();

将 var whdef = 100 / 1920 设置为100px的相对值,

那么在转化时,如div为20px

那么设置为rem为:0.2rem

这样一来 就不需要再去转化那么麻烦了