2013-04-12 116 views
5

明星是做什么的?这叫什么?对我来说,这是一种通配符。它叫什么,所以我可以读到它?*在CSS中做了什么?

#div { 
    *zoom: 1; /*this ... * 
    zoom : 1; 
    display: inline; 
    *display: inline; /*... and this, whats the difference? * 
} 

我知道这意味着什么(所有元素):

* { 
..css code 
} 

回答

8

简而言之,它是在不同IE浏览器版本上针对css的关键。它也可以称为CSS Hack。

#div { 
    *zoom: 1; /*Only works on IE7 and below*/ 
    zoom : 1; 
    display: inline; 
    *display: inline; /*Only works on IE7 and below*/ 
} 

表示此CSS仅适用于IE7及更低版本。这是一种黑客,我们可以用它来在IE7及以下版本上应用CSS。

这里是如何定位的IE6,IE7和IE8独特

#div{ 
color: red; /* all browsers, of course */ 
color : green\9; /* IE8 and below */ 
*color : yellow; /* IE7 and below */ 
_color : orange; /* IE6 */ 
} 

CLICK HERE如果您想了解更多关于特定浏览器CSS。

3

* 属性:值

虽然Internet Explorer 7中修正自己的行为,当属性 名称前缀用下划线或连字符,其他 非字母数字字符前缀被视为在IE6中。 因此,如果您在属性名称之前添加非字母数字字符(如星号 (*)),则该属性将在IE中应用 ,而不在其他浏览器中应用。与连字符和下划线 方法不同,CSS规范不会将星号 作为前缀进行保留,因此随着CSS规范的发展,使用此hack可能会导致意外行为 。

http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

2

在你的背景下,似乎是星破解。它是否只适用于某些版本的IE,取决于它的用途。

您可以检索更多信息here

4

star-property hack但是,IE系列忽略了*,并且在没有它的情况下应用该属性。此hack用于仅将样式规则传递给Internet Explorer 7(及更低版本)。它依赖于自1997年以来影响Explorer的错误DOM实现。根据规范,任何格式良好的(X)HTML文档的实际根元素都是html元素。相反,Explorer 7(和更低版本)将html元素视为包裹在另一个未知元素中。

0

What does the * in css? - >选择指定元素之后的所有元素,例如。 div.red *{color: red;}将导致所有的颜色红色后同级车红色即使你定义了其他颜色的内div.red因此你知道*意味着ALLThis Fiddle

* zoom: 1; - 在这里>您已经把*在第一,所以这将破解IE只有这种类型的风格只适用于IE和其他浏览器忽略了这一点。

*它被称为星号用简单的语言和编码语言这叫做Universal Selector