【问题标题】:Can I use font-size: calc(1px * 1vw) to get around compatibility issues?我可以使用 font-size: calc(1px * 1vw) 来解决兼容性问题吗?
【发布时间】:2019-05-08 19:28:29
【问题描述】:

IE font-size: 1vw,而我正在开发的网站要求我支持。

如果我使用calc(1px * 1vw),会返回像素值吗?我对calc()的理解对吗?

我假设font-sie: 1vw 不起作用,因为IE 不知道如何将vw 转换为px

【问题讨论】:

    标签: html css internet-explorer cross-browser


    【解决方案1】:

    简短的回答是否定的,因为 IE calc()。https://caniuse.com/#search=calc()

    略长一点的答案仍然是否定的,因为您不能乘以或除以不同的单位。以下是 W3 文档所说的:

    在 * 处,检查至少一侧是数字。如果两边都是整数,则解析为 .否则,解析为对方的类型。

    在 / 处,检查右侧是否为数字。如果左边是整数,则解析为 .否则,解析为左侧的类型。

    (https://www.w3.org/TR/css3-values/#funcdef-calc)

    由于 vw 不适用于 IE8(emrem 也不会),我唯一能想到的就是尝试 %

    如果您可以在 IE8 上使用静态字体大小,只需添加一个备用字体大小。这样现代浏览器会读取 1vw 并继续他们的一天,而 IE8 会读取它并说我是恐龙并且不知道那是什么,所以我会使用你以前的大小(例如 @987654329 @)。

    p {
      font-size: 16px;
      font-size: 1vw;
    }
    

    【讨论】:

    • 太棒了。完美的答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2016-01-24
    相关资源
    最近更新 更多