IE <= 8不支持font-size: 1vw
,而我要开发的网站要求我支持。
如果我执行calc(1px * 1vw)
,是否返回像素值?我对calc()
的理解正确吗?
我假设font-sie: 1vw
不起作用,因为IE不知道如何将vw
转换为px
?
答案 0 :(得分:1)
简短的回答是“否”,因为IE <= 8不支持calc()
。https://caniuse.com/#search=calc()
稍长的答案仍然是“否”,因为您不能乘以或除以不同的单位。这是W3文档所说的:
在*处,检查至少一侧是数字。如果双方都是整数,则解析为。否则,请解析到另一侧的类型。
在/处,检查右侧是否为数字。如果左侧为整数,则解析为。否则,请解析为左侧的类型。
(https://www.w3.org/TR/css3-values/#funcdef-calc)
由于vw
不适用于IE8(em
或rem
也不行),我唯一想到的就是尝试%
。
如果您可以摆脱IE8上的静态字体大小,只需添加一个备用字体大小即可。这样,现代的浏览器将阅读1vw
并继续前进,而IE8会阅读它,并说我是恐龙,不知道那是什么,所以我将使用您以前的尺寸(例如16px
。
p {
font-size: 16px;
font-size: 1vw;
}