请问各位feer,在关于移动web开发中字体大小的实践:
字体大小使用什么单位合适?
假设设计稿为:750 * 1344(iphone6),如何准确的还原设计稿中的字体大小(设计稿中的字体单位都是以
px
)?
感谢阅读以及答案!
请问各位feer,在关于移动web开发中字体大小的实践:
字体大小使用什么单位合适?
假设设计稿为:750 * 1344(iphone6),如何准确的还原设计稿中的字体大小(设计稿中的字体单位都是以px
)?
感谢阅读以及答案!
<script type="text/javascript">
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 64 * (clientWidth / 640) + 'px';
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
</script>
其中docEl.style.fontSize = 64 * (clientWidth / 640) + 'px'
; 中64是html
中设置的font-size
,640是psd
中图像宽,也就说如果PSD
设计750px,那么这边就是75px
。你可以试一下,最后html
生效的字体大小和http://m.taobao.com 上的html
上的字体大小是一样的。
PS:第一位回答问题的仁兄,用了下你的代码。
按设计稿中的字体大小设置页面字体大小(px),在手机端,因为不同设备会有不同,换算成rem单位。
rem是“font size of the root element”,可以通过这篇文章了解http://www.w3cplus.com/css3/define-font-size-with-css3-rem
以640px宽为例,设置html{ font-size: 20px; }
再把css中原来的px单位除以20,换成rem,比如120px,就写6rem
都设置完以后,这个页面是适配640的手机,那如果不是640的手机怎么办呢?在页面中加入这段脚本:
其中docEl.style.fontSize = 20 * (clientWidth / 640) + 'px'; 中20是html中设置的font-size,640是psd中图像宽,如果psd设计的是1080的,那就换成1080.