研究:如何获取在浏览器中配置的默认字体大小

如果用户不希望使用标准的16px,我想收集一些有关用户在浏览器中设置的默认字体大小范围的统计信息。

此信息可能有助于确定我们的布局需要不破坏哪种字体大小。

在SO上有很多类似的问题,它们要求body元素上的有效字体大小,但这对我没有多大用处,因为我有兴趣收集有关浏览器默认字体的数据CSS插入之前的大小。

还是有人知道这样的统计数据是否已经存在?

xuce198523 回答:研究:如何获取在浏览器中配置的默认字体大小

最佳做法是在ems中设置字体大小,以根据浏览器字体大小进行相应缩放,但是您可以阅读本文:Users DO Change Font Size

,

实际上,这并不是您想像的那么简单,因为它们没有JavaScript钩子等。您可以调用。

获得合理准确值的方法是:-

  1. 创建一个具有<div>的{​​{1}},并将padding设置为0。
  2. 添加一个您知道其确切尺寸的特定字体的单词,即使该字体的大小为200%,该单词也可以放在小屏幕的一行上。
  3. 在该opacity:0上添加单词。
  4. 将该div的字体大小设置为div1em(以便随用户字体大小缩放)
  5. 在浏览器设置为正常字体大小的情况下,以像素为单位测量100%的宽度。
  6. 然后,当用户加载页面时,请测量div的宽度并将其与您知道的div / 16px的大小进行比较。
  7. 然后,您可以使用default的宽度(通过JavaScript)估算他们使用的字体大小。 (因此,如果通常宽div,并且用户宽160px,则可以估计他们使用的是200px字体大小或20px(200/160)。) / li>

以上内容相当准确,由于不同的浏览器对字距调整的处理略有不同,因此并不完美,但足以满足大多数需求。

本文链接:https://www.f2er.com/3102069.html

大家都在问