移动端页面开发通常用的是rem单位来做不同分辨率屏幕的自适应,那我们怎么从ui设计稿的px像素单位自动转换到rem呢?
我们写了一个方法来解决,只要输入设计稿的元素尺寸,就可以自动转换过来。
//宽度基准
!(function(win, doc) {
function setfontsize() {
var docel = doc.documentelement;
var winwidth = docel.clientwidth;
doc.documentelement.style.fontsize = (winwidth / 1080) * 100 + 'px';
}
var evt = 'onorientationchange' in win 'orientationchange' : 'resize';
var timer = null;
win.addeventlistener(evt, function() {
cleartimeout(timer);
timer = settimeout(setfontsize, 300);
}, false);
win.addeventlistener('pageshow', function(e) {
if (e.persisted) {
cleartimeout(timer);
timer = settimeout(setfontsize, 300);
}
}, false)
setfontsize();
}(window, document))
上述代码中的1080就是你设计稿设计的尺寸,根据不用的尺寸来填写,然后调用这个方法后,你页面所有的元素单位就会转换为rem,在页面具体中的用法就是,比如你设计稿的文字大小为12px,那么你在页面样式代码中就要写成0.12rem,以此类推,页面代码中的尺寸就是你设计稿中的原始尺寸除以100。
希望对你们有帮助。
如对本文有疑问, 点击进行留言回复!!
清除新版Google Chrome浏览器中表单控件(input,button...)默认的黑色边框
荐 20200714——git/mac配置/项目运行步骤/一些报错
antd 菜单组件 使用时报错:Cannot read property ‘isRootMenu‘ of undefined
CSS|div的style=“background-image: url(img/a.bmp)图片显示不出来
硬件仪表盘账号建立指导(一) --WHQL认证测试结果提交账号(一)
cookie的规范Cookie的不可跨域名性或Cookie与域名的关系
网友评论