在使用 css 时很快就会意识到某些东西不是跨浏览器友好的。
例如,当我想要一个半透明的 png 时,我不得不给 IE 一些可笑的东西,比如:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
我在定位和伪选择器等方面遇到了问题,因为任何玩过 css 超过 20 分钟的人都会遇到。
- 为了解决问题,有时我开始决定只做所有浏览器都以相同(或至少相当相似)的方式支持和支持的事情。
- 其他时候我只是加入条件注释并给 IE 自己的样式表。
- 然后在其他情况下,我只是使用 css hack 来排除某些浏览器读取特定位(如旧的“
* html {}
”或“html>/**/body {}
”)
所以我的问题是,这是最好的选择。第一个是相当有限的,你最终会为 IE6 的能力而开发,但其他两个感觉有点脏。那么在编程实践、渲染效率等方面的赌注是什么?