【问题标题】:Font-size 1px to use with rem units与 rem 单位一起使用的字体大小 1px
【发布时间】:2012-01-21 02:48:07
【问题描述】:

我正在追求一个可以很好地缩放的布局(用户按 ctr/cmd + [加号])。为此,我需要尺寸与字体大小一起缩放。使用 em 单位太棘手了,所以我正在考虑使用 rem (并复制旧 ie 的每个维度属性)。

我最初的想法是将 html 元素的 font-size 设置为 10px,然后使用 1/10rem 作为像素替换。但是由于 body 上的字体大小以 px 为单位任意设置,因此 html 上的字体大小将专门用于 rem 测量。那么为什么不设置为 1px 呢?

优点很明显 - 易于编写重复声明和可维护性。

至于缺点(除了重复声明)我想不出任何缺点。但也许我错过了一些东西。这种方法有什么陷阱吗?

【问题讨论】:

  • 可能有点晚了,但是 font-size 1px 可能会干扰浏览器的最小字体大小。

标签: css font-size units-of-measurement


【解决方案1】:

正如你所说,你仍然需要为 IE 做一些其他的事情,我认为这种方法没有任何可能的好处。只需使用 em,即使它需要一些计算。如果你有深度嵌套的元素,它们有自己的字体大小设置,无论如何它都太复杂了,需要简化,而不是复杂。

设置 font-size: 1px 非常不自然,会使您的样式表难以阅读和维护。

【讨论】:

  • Setting font-size: 1px is highly unnatural and would make your stylesheet hard to read and maintain. 正如 OP 明确指出的那样,1px 值实际上并不用于页面上的任何文本元素,它只是专门用于 REM 测量。
【解决方案2】:

由于您已在正文中定义了可继承的字体大小,因此您可以安全地更改您认为合适的 html 字体大小。目前,这只会影响 rem 值,但如果其他东西使用了这个值,那么这个 1px 非标准配置会破坏其他东西并且难以修复。

这可能会对使用 rem 的 3rd 方库产生影响,并且可能会因互换使用 em 和 rem 而产生一些混淆。

我个人认为,如果使用 vanilla CSS(无预处理器),使用这种非标准方法可以大大简化 rem 的使用,因为 1:1 rem:px 值非常直观。

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 2016-11-23
    • 2019-11-07
    • 2019-10-17
    • 1970-01-01
    • 2022-08-05
    相关资源
    最近更新 更多