Strict vs Hacky CSS - 哪个更好

在使用css时,不需要花很长时间才会发现某些事情不是跨浏览器友好的。 例如,当我想要一个半透明的png时,我不得不给IE一些荒谬的东西:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
我在定位和伪选择器等方面遇到了问题,因为任何玩过css超过20分钟的人都会遇到。 为了解决问题,有时我会开始决定我只会以相同(或至少相当类似)的方式支持和支持所有浏览器。 其他时候我只是在条件评论中浏览并给IE它自己的样式表。 然后在其他场合我只是使用css hacks来排除某些浏览器读取特定位(比如旧的“
* html {}
”或“
html>/**/body {}
”) 所以我的问题是,这是最好的选择。第一个是非常有限的,你最终开发IE6能够做的,但其他两个感觉有点肮脏。那么在编程实践,渲染效率等方面的赌注是什么?     
已邀请:
简短回答: 尽力遵守标准 要有创意 停止使用hacks并开始使用条件注释 从长远来看,CSS hacks只会污染你的样式表并使它们更难维护。尽可能避免使用它们,而是使用特定于IE的样式表的条件注释(因为大多数黑客都适合IE)。如果笨拙的话,我可以保证CC不像黑客那样笨拙。 您不必一直受到IE的限制。有一个名为渐进增强的概念,这意味着您可以在支持高级样式的现代浏览器中使您的页面看起来更漂亮,等等。使用像今天ѭ3这样的CSS3属性并没有什么问题,因为浏览器供应商正在(相对)快速地为这些产品提供支持。 但是有客户,这将是一个不同的讨论话题。但是,我会说,取得平衡:教育你的客户并发挥创造力,但不要试图做任何太聪明或幻想的事情。还有,请尽量避免使用CSS黑客,除非它早上4点半就过去了,你可以喝啤酒,只想在任何情况下完成任务。     
我总是喜欢IE修复的条件评论。黑客与修复解析的IE不一致,所以黑客不再工作,但后来没有修复黑客正在补偿的东西。此外,他们可能会混乱其他CSS解析器。     

要回复问题请先登录注册