android - 旋转时如何获得相同大小的字体?
问题描述
我有一个相当简单的问题,已经写了很多,但我还没有找到答案。
基本上我有两个主要div
部分的布局,其中一个使用了大约三分之一的视口。我在旋转时重新组织它们,使较小的仍然在一端(并且大小大致相同),这一切都很好——我用@media
查询和vh
和设置大小和位置vw
。
问题出在哪里,无论设备的朝向如何,我都希望主要的文本大小相同div
,但是浏览器对字体大小有自己的想法。我试图用vh
和vmax
和em
等来缩放字体px
无济于事。
我尝试的一种解决方案是在从纵向旋转到横向时的字体大小问题中给出,但它并没有解决它,即使我在旋转后刷新页面也是如此。
这个简单的例子和图片展示了我的意思,只是一个字体大小的演示。如果我vmax
改为基于大小,则会获得类似的结果。我没有在我的实际代码中使用这样的 Javascript,它只是为了显示一些具有屏幕大小的文本。
<!DOCTYPE html>
<html>
<style>
body { font-size: 40px !important; }
</style>
<body>
<script language="JavaScript">
document.writeln("<BR>");
document.writeln("screen = ");
document.writeln(screen.width);
document.writeln(" x ");
document.writeln(screen.height);
document.writeln("<BR>");
</script>
</body></html>
我在较小的区域中有一些按钮,并且(奇怪地)调整它们上的文本大小没有问题。
我怎样才能获得相同大小的字体,而不必事后猜测(未知)浏览器会做什么?我台式电脑上的 Firefox 是一致的,但我手机上的三星和 Chrome 浏览器不是。屏幕截图来自三星浏览器,Chrome 也有类似的结果。
解决方案
改变的不是你的字体大小,而是页面缩放。要验证,请在页面中引入图像或简单的像素大小的正方形:
<!DOCTYPE html>
<html>
<style>
body { font-size: 40px !important; }
</style>
<body>
<span style="display:inline-block;width:40px;height:40px;background:red"></span>
<script language="JavaScript">
document.writeln("<BR>");
document.writeln("screen = ");
document.writeln(screen.width);
document.writeln(" x ");
document.writeln(screen.height);
document.writeln("<BR>");
</script>
</body></html>
至于解决方案,添加视口元标记将是最简单的:
<meta name="viewport" content="width=device-width" />
推荐阅读
- android - 将值从活动传递到片段得到 NullPointerException 错误
- botframework - 我们可以在任务模块中有不同的图标和名称吗
- maven - 为什么在 mvnrepository.com 或 nexus 等 maven 存储库中没有“最新”版本标签?
- php - Laravel 5.8 作业的参数太少错误
- c# - 开启 IObservable
>> - node.js - pm2中的方形符号是什么意思?
- django - 为什么 models.EmbeddedModelField 不适用于 djongo/django?
- html - 为什么我的 div 列溢出,如何使它们与容器齐平?
- c# - Visual Studio 2017 调试在调用 DateTime.Now 时冻结并中止;
- c - 如何在C中提取指针大小