5

明星是做什么的?这叫什么?对我来说,这是某种通配符。它叫什么,所以我可以阅读它?

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

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

* {
..css code
}
4

5 回答 5

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 的 hack。

以下是唯一针对 IE6、IE7 和 IE8 的方法

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

如果您想了解有关浏览器特定 CSS 的更多信息,请单击此处。

于 2013-04-12T07:35:06.320 回答
5

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

于 2013-04-12T07:36:15.420 回答
3

*属性:值

尽管 Internet Explorer 7 更正了属性名称带有下划线或连字符前缀时的行为,但其他非字母数字字符前缀的处理方式与 IE6 中的相同。因此,如果您在属性名称前添加星号 (*) 等非字母数字字符,则该属性将在 IE 中应用,而不是在其他浏览器中应用。与连字符和下划线方法不同,CSS 规范没有保留星号作为前缀,因此随着 CSS 规范的发展,使用这种 hack 可能会导致意外行为。

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

于 2013-04-12T07:32:51.913 回答
2

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

您可以在此处检索更多信息。

于 2013-04-12T07:33:30.930 回答
0

What does the * in css?-> 选择指定元素之后的所有元素,例如。div.red *{color: red;}即使您在内部定义了其他颜色,也会在其类红色之后产生所有颜色红色,div.red因此您知道这*意味着ALL See This Fiddle

* zoom: 1;-> 这里你*首先放置了,所以这只会破解 IE,因为这种样式只在 IE 中有效,其他浏览器忽略了这一点。

*它在简单语言中称为星号,在编码语言中称为通用选择器

于 2013-04-12T07:52:54.817 回答