【发布时间】: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
IE font-size: 1vw,而我正在开发的网站要求我支持。
如果我使用calc(1px * 1vw),会返回像素值吗?我对calc()的理解对吗?
我假设font-sie: 1vw 不起作用,因为IE 不知道如何将vw 转换为px?
【问题讨论】:
标签: html css internet-explorer cross-browser
简短的回答是否定的,因为 IE calc()。https://caniuse.com/#search=calc()
略长一点的答案仍然是否定的,因为您不能乘以或除以不同的单位。以下是 W3 文档所说的:
在 * 处,检查至少一侧是数字。如果两边都是整数,则解析为 .否则,解析为对方的类型。
在 / 处,检查右侧是否为数字。如果左边是整数,则解析为 .否则,解析为左侧的类型。
(https://www.w3.org/TR/css3-values/#funcdef-calc)
由于 vw 不适用于 IE8(em 或 rem 也不会),我唯一能想到的就是尝试 %。
如果您可以在 IE8 上使用静态字体大小,只需添加一个备用字体大小。这样现代浏览器会读取 1vw 并继续他们的一天,而 IE8 会读取它并说我是恐龙并且不知道那是什么,所以我会使用你以前的大小(例如 @987654329 @)。
p {
font-size: 16px;
font-size: 1vw;
}
【讨论】: