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