【问题标题】:Allowing relative font sizes up to a specific maximum允许相对字体大小达到特定最大值
【发布时间】:2019-09-07 20:58:02
【问题描述】:

我的网站大部分使用相对字体和流畅的布局技术,因此我们的网站布局将根据浏览器的默认字体大小设置进行缩放。但是有些元素的宽度是固定的,我们的布局超过了一定的字体大小就不能很好地工作或看起来很好。此时返回并更改所有这些元素是不可行的。

因此,我希望允许网站根据用户在浏览器中选择的默认字体大小进行调整——在一定范围内。例如,在浏览器 fontsize22px; 上,事情开始看起来有点不稳定。我希望网站是相对的,直到它达到 22px 的最大基本大小。

据我所知,似乎没有任何简单的方法可以纯粹在 CSS 中指定这一点。我在想最好的方法是在页面加载时使用Javascript 来检测基本fontsize,如果是>22px,那么我将在我的body 标签上设置一个样式来修复font-size22px。如果它小于22px,我不会做任何事情(并保留我们默认的相对样式)。我不太关心在加载页面时处理字体大小的变化,因为这似乎是一种边缘情况(在下一页加载时会得到纠正)。

这是最好的方法,还是有更好的方法?

【问题讨论】:

    标签: html font-size


    【解决方案1】:

    您无法阻止用户增加字体大小(即使您以像素为单位设置大小,用户也可以按 Ctrl +),而且许多人认为这很好——人们可能需要比您预期更大的字体大小,并且在某种程度上破坏了布局可能比根本无法阅读要好。因此,您可以做的就是尽一切合理努力确保页面在各种字体大小下都能正常工作。

    【讨论】:

    • 我不确定您是否完全理解了这个问题。我知道 CTRL +/- 会缩放页面并增加字体大小——这很好,因为它会缩放整个页面(包括所有“固定”布局),所以一切仍然正确呈现,只是放大了。我想允许字体大小调整,有一定的限制。如果我只是将我的 body 设置为固定大小,比如 10px,那么没有人能够改变它。我想保持我的字体大小可变(正文:69%,然后是儿童的 em),但要确保“默认的 69%”永远不会 > 22px。
    • 你还是不行。浏览器是否允许用户缩放整个页面或只是文本并不真正相关。并且用户总是可以在他的用户样式表中使用* { font-size: 32pt !important }
    • 我不同意;浏览器是否缩放整个页面与具有不同的基本字体大小是相关的(在我的场景中)。在前者中,布局被保留,一切都适合布局。在后者中,文本可能(超过一定大小)不再适合其容器,并且以不太理想的方式换行/重叠/截断。我关心的情况是浏览器字体默认设置>22px的用户;我知道有人可以通过用户样式表覆盖,但他们这样做需要自担风险。鉴于我的要求,这不应该是可能的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2020-12-10
    • 2011-01-23
    相关资源
    最近更新 更多