如题,之前一直在做pc后台系统,突然给了任务做个h5应用有点不知所措。。我设的fontsize62.5%,然后看了下字体1.6rem浏览器显示出来的是16px,为啥我给个div宽度定2rem却不是20px?
如题,之前一直在做pc后台系统,突然给了任务做个h5应用有点不知所措。。我设的fontsize62.5%,然后看了下字体1.6rem浏览器显示出来的是16px,为啥我给个div宽度定2rem却不是20px?
浏览器默认最小字体是12px
所以设置文字大小为62.5%,文字大小会生效,但rem还是已12为基准,可以这样
我们可以设置用100来换算
html{
font-size:625%;
}
div{
font-size: 0.16rem; /*真实值: 16px 怎么来的 16/100=0.16*/
width: 1rem; /*真实值: 100px 怎么来的 100/100=1*/
}
看不到完整代码不清楚问题出在哪。我常用移动端rem方法是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>title</title>
<script>
//rem设置 layout_width是layout设计宽度
var layout_width = 750;
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
if (clientWidth >= layout_width) {
docEl.style.fontSize = '100px';
} else {
docEl.style.fontSize = 100 * (clientWidth / layout_width) + 'px';
}
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
</script>
</head>
<body>
</body>
</html>
layout_width是ui设计的实际页面宽度,现在流行用750px。这样处理以后,1rem=100px这样做换算就可以了,用这个方法做了很多项目了,没有出现过rem不符的现象,你可以试试。
5 回答1.4k 阅读
5 回答1.5k 阅读✓ 已解决
2 回答906 阅读✓ 已解决
3 回答794 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
rem布局需要引入一个自调用函数(网易的做法)
处理后100px = 1rem;