CSS中的*做了什么?

时间:2013-04-12 07:30:22

标签: css css3

明星做什么?这叫什么?对我来说这是一种外卡。它叫什么,所以我可以读到它?

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

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

* {
..css code
}

5 个答案:

答案 0 :(得分: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的更多信息。

答案 1 :(得分:5)

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

答案 2 :(得分:3)

* 属性:值

  

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

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

答案 3 :(得分:2)

在您的上下文中,似乎是明星黑客。它的属性仅适用于IE的某些版本,具体取决于其使用。

您可以检索更多信息here

答案 4 :(得分:0)

What does the * in css? - >选择指定元素后的所有元素,例如。即使您在div.red *{color: red;}中定义了另一种颜色,div.red也会在其类红色后显示所有颜色为红色,因此您知道*表示ALL 请参阅 This Fiddle

* zoom: 1; - >在这里你首先放置了*,所以这只会破坏IE,因为这种类型的风格仅适用于IE,其他浏览器忽略了这一点。

*它在简单语言和编码语言中称为星号,这称为 Universal Selector