2012-11-26 46 views
1

在阅读Twitter引导的CSS代码时,我注意到一些元素在开头处有一个带*的CSS规则。例如:为什么要在CSS规则中添加星号(*)?

.row-fluid { 
    width: 100%; 
    *zoom: 1; 
} 

为什么使用这种技术?

+2

这提供称为hasLayout的在Internet Explorer的版本7和下部的内部属性。 –

+2

http://stackoverflow.com/questions/6287023/what-bug-does-zoom1-fix-in-css去这个,并检查 –

回答

6

忽略关于*作为“所有”选择器的帖子,因为它是,但这不是它在这种情况下。

*放在属性允许您指定ie7和以下之前。这是一个不应该真正使用的老黑客,因为你可以以更好的方式瞄准IE7和以下版本。

Quick explanation of how to target older IE versions。如果你读到底部,你会看到他解释说,使用条件评论比黑客更好,因为他们毕竟是黑客。

+3

没关系,这个问题是重复多次 - 为什么地狱人们不断回答'*'是通用选择器,显然问的是一个完全不同的(尽管无效)使用'*'的问题? – BoltClock

+2

@BoltClock他们没有正确地阅读这个问题,因为他们急于获得第一个答案:P – Andy

+0

对于一些技术细节,[这里是关于CSS过滤器的维基百科文章,特别是“星际破解”]( http://en.wikipedia.org/wiki/CSS_filter#Star_hack) – Josh

1

在这种情况下,我认为这是对IE6/7