我找到以下JS解决方案,根据视口大小调整文本大小非常优雅:
https://stackoverflow.com/a/10295733/1318135
onresize=onload=function(){document.body.style.fontSize=window.innerWidth+"px"}
但是,有两个问题:
它依赖于调整视口大小。我想在首次加载页面时触发它,但在JS上是一个新手。
我的页面完全使用em值编码;这使用px。如何使用此功能调整默认em尺寸,然后会自动向下切换到页面上的其他每个元素?
谢谢!
答案 0 :(得分:1)
您需要在body
的{{1}}事件中运行该代码。最简单的方法是通过load
属性直接设置它:
onload
它的作用:
<body onload="var f = function () { document.body.style.fontSize = 0.2 * window.innerWidth + 'px'; }; window.onresize = f; f();">
事件侦听器。PS:有更优雅的方式来写这个,但是既然是你的新手,最好先用更简单的记法开始。
答案 1 :(得分:1)
查看其他答案(或将http://jsfiddle.net/cjzEK/1/放在页面底部)
em本身并不是一个尺寸。这是一个不同的写作百分比。 em适用于你的唯一方法是因为在浏览器中设置了1个基本字体大小(或者也可能是重置样式表)。浏览器中通常的字体基本大小为16px。那么这个解决方案的作用是通过将基础大小添加到正文来改变基础大小(将其添加到html可能会更好)。
e.g。没有重置的p{font-size:1em;}
将是16px。 1.5em将是24px。