PIE.htc是IE8下实现box-shadow的唯一稳定方案,因filter:Shadow在Win10已失效;需确保路径正确、元素设position:relative、z-index及纯色背景,并解决父容器浮动塌陷问题。IE8 不支持
box-shadow,直接写不会渲染任何阴影。必须用兼容方案补全,否则视觉降级严重。这个 IE 专属滤镜在 Win10 系统(2020 年后更新)已彻底失效,即使 IE8 浏览器进程还在运行,filter 也常被忽略或渲染异常。实测多数新装 Win10 + IE8 模拟环境里,filter 完全不生效,且容易引发文字模糊、z-index 错乱等问题。
display: block 或 inline-block,display: inline 无效Direction 值需为整数(如 135),负值虽语法合法但部分版本解析失败inset 内阴影PIE(Progressive Internet Explorer)通过 VML 动态绘制阴影和圆角,在 IE6–8 中实测兼容性最可靠。但它不是“开箱即用”,路径、定位、z-index 都要严格满足条件。
behavior: url(PIE.htc) 的路径必须相对于 HTML 文件,不是 CSS 文件——比如 HTML 在 /index.html,PIE.htc 就得放在同级目录,写成 behavior: url(PIE.htc);若 HTML 在子目录,就得写成 behavior: url(../PIE.htc)
position: relative 或 position: absolute,否则 PIE 不触发渲染z-index(哪怕只是 z-index: 1),否则阴影可能被其他元素遮挡rgba() 或无背景,IE8 下阴影区域会变黑或消失;应显式声明 background-color: #fff 等纯色这不是 IE8 特有,但容易误判为兼容问题:box-shadow 作用于元素自身的盒模型,如果父容器因浮动塌陷高度为 0,阴影自然不可见——PIE.htc 同样受此影响。
overflow: hidden 或 overflow: auto 来闭合浮动height 或 min-height 强制设高,这会掩盖真实塌陷问题PIE.htc 返回 200,且响应头 Content-Type 是 text/x-component(IIS 需手动配置 MIME 类型,否则 IE8 拒绝执行)。