You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IE及Microsoft Edge中transform结合calc()无法生效的技术咨询

关于transform: scale()中使用calc()的浏览器兼容性问题

我最近在做元素缩放时遇到了一个兼容性小问题:我需要把一个div按1/2.9的比例缩放,虽然用小数也能实现,但分数形式的精度明显更高。下面是两种写法的兼容性差异:

兼容IE和Chrome的写法

这段代码直接用计算好的小数作为scale参数,在IE和Chrome里都能正常运行:

.container { 
  position: absolute; 
  width: 200px; 
  height: 290px; 
  transform: scale(0.3448275862068966); 
  background: #F00; 
}
<div class="container"></div>

仅支持Chrome的calc()写法

如果用calc()直接写分数表达式,就只有Chrome能正常识别,IE完全不生效:

.container { 
  position: absolute; 
  width: 200px; 
  height: 290px; 
  transform: scale(calc(1/2.9)); 
  background: #F00; 
}
<div class="container"></div>

本质原因是IE的CSS解析器不支持在transform: scale()的参数中使用calc()计算表达式,而Chrome等现代浏览器已经支持这个特性。如果需要兼容IE,还是得提前计算好精确的小数数值来使用。

内容的提问来源于stack exchange,提问作者Wais Kamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:52:01