如何设置正文相对于屏幕大小的字体大小
How to set the font-size of the body relative to the screensize
嗯,我目前正在做一些事情,但现在我正在构建一个移动版本,对于那个移动版本,我想设置相对于窗口的文本大小。我试图这样做:
// Getting the right font-size
var viewportWidth = document.documentElement.clientWidth;
var viewportHeight = document.documentElement.clientHeight;
document.getElementsByTagName("body")[0].style.fontSize = (viewportHeight / 10);
但出于某种原因,它给了我这个告诉我:
Uncaught TypeError: cannot read 'style' of type undefined.
你们能帮我解决这个问题吗,或者有没有其他方法(可能使用 css)来解决我的问题。
谢谢。
您的错误消息告诉您document.getElementsByTagName("body")[0]
会给您undefined
。因此,在脚本运行时没有 body 元素(因此无法更改其样式)。
也:
- 将其移出
head
- 将其转换为函数,可以在读取/加载文档时调用/等
此外,CSS font-size 属性需要长度,长度需要单位。
试试这个:
document.addEventListener('load', function(){
var viewportWidth = document.documentElement.clientWidth;
var viewportHeight = document.documentElement.clientHeight;
document.body.style.fontSize = (viewportHeight / 10);
}, false);
尝试 document.getElementsByTagName("body")[0].style.fontSize = (viewportHeight/10) + "px";
或您想要使用的任何其他单位。
也看看这里,它可能就是你要找的
http://snook.ca/archives/html_and_css/vm-vh-units
http://dev.opera.com/articles/view/css-viewport-units/
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 用Javascript更改我网站上的字体大小
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 不同字体的字母间距不同
- 如何在谷歌字体加载时显示加载图像
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- 如何设置正文相对于屏幕大小的字体大小
- 有没有一种方法可以在手机屏幕和桌面屏幕上构建一个使用不同字体的网页,而不需要编写任何JavaScript
- 根据屏幕宽度调整字体大小
- Textarea字体大小不改变屏幕上的jquery调整大小
- 如何在CSS中根据屏幕大小更改文本(而不是字体大小)
- 如何使字体大小与屏幕分辨率和显示器大小无关
- 一个很好的字体大小相对于字符数和屏幕宽度的算法
- D3字云:如何自动调整字体大小,使单词不会耗尽,并将单词缩放到整个屏幕
- CSS3转换导致屏幕闪烁或别名字体
- 文本区域根据屏幕大小更改字体大小