CSS属性前的*代表什么?

5
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}

这是从YUI重置CSS中的内容。在font-size:100%前面加上*意味着它将应用于所有元素,包括IE6及以下版本中的非标准元素。

就像Marc在下面回答的那样,您可以在元素前加上“*”和“_”来针对不同版本的IE。 - Justin
相关:https://dev59.com/b03Sa4cB1Zd3GeqPze4B - BalusC
4个回答

12

这是一个IE浏览器的hack。第二行只能被IE7及以下版本正确解析和执行。更多信息请参见http://www.webdevout.net/css-hacks#unrecommended-asterisk_prefix

编辑:使用这样(无效的)CSS的一点建议:请不要。有许多方法可以使你的CSS保持干净整洁,你永远不会知道IE9可能带来什么行为。最好将这种hack放在单独的CSS文件中,然后通过条件注释进行引用。


2
更加精确地说:IE6/7不支持font-size: inherit。这个hack的目的是为了达到相同的效果。

0

我认为这是一种hack方法,使得该定义仅适用于IE 7或更低版本,同时被其他浏览器忽略,因为星号不是属性名称之前的合法字符。


0

正如已经提到的,这些都是针对特定浏览器的黑客技巧。Marc的建议非常正确,这里有一个链接可以帮助你入门:

http://www.webdevout.net/css-hacks


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接