这是大多数浏览器支持的示例样式:
.class {
background: rgba(0,0,0,0.3);
}
旧 IE (IE 6-8) 不支持rgba
. 我至少可以使用三种方法来支持这一点。
同班
.class { background: grey; background: rgba(0,0,0,0.3); }
现代化
.class { background: rgba(0,0,0,0.3); } .no-rgba .class { background: grey; }
明星黑客
.class { background: rgba(0,0,0,0.3); background: grey\9; /*IE8 and below*/ }
我更喜欢使用方法 1 和 2,因为它们涵盖的不仅仅是 IE 浏览器,但我不确定应该使用哪种方法。
方法 1 很好,因为即使 JS 被禁用,它也可以工作。但是,所有现代浏览器都需要渲染一个额外的属性。
方法 2 很好,因为它将坏浏览器隔离到它们自己的类中。现代浏览器不会渲染这个类,这样可以节省几毫秒的渲染时间。
也许还有其他我没有想到的东西可能会更好?我想避免使用 PIE.htc 或过滤器。优化和加载时间的最佳方法是什么?