首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在CSS中带星号的属性是什么意思?

在CSS中带星号的属性是什么意思?
EN

Stack Overflow用户
提问于 2009-11-03 22:08:36
回答 3查看 26.6K关注 0票数 86

我今天查看了一个css文件,发现了以下规则集:

div.with-some-class {
    display:block;                   
    margin:0;
    padding:2px 0 0 0;
    *padding:1px 0 0 0;
    font-size:11px;   
    font-weight:normal;
    *line-height:13px;
    color:#3D9AD0;
}

星号在*填充和*行高中是什么意思?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-03 22:13:53

这是与“下划线黑客”相同的"star property hack“。它在IE忽略的属性前包含垃圾(*适用于IE 7,_适用于IE 6)。

票数 99
EN

Stack Overflow用户

发布于 2009-11-03 22:12:22

在CSS中?什么都没有;这是一个错误。

由于Internet Explorer的某些版本中的错误,它们不会正确地忽略无效的属性名称,因此这是提供特定于这些浏览器的CSS的一种方式。

不过,使用条件注释更清晰、更安全。

票数 32
EN

Stack Overflow用户

发布于 2009-11-03 22:29:57

在CSS中,星号字符是有效的通配符。单独使用它意味着将对DOM中的所有元素节点使用以下CSS属性。示例:

*{color:#000;}

上述属性将应用于所有DOM元素,从而破坏了CSS中的自然级联。它只能通过专门标记DOM元素来覆盖,其中目标以唯一标识符引用开始。示例:

#uniqueValue div strong{color:#f00;}

上面的属性将覆盖通配符,并将出现在div中的所有强元素的文本放在一个id属性值为"uniqueValue“的元素中。

使用通用的通配符,比如第一个示例,可能是编写重置样式表的一种既快又脏的方法。它又快又脏,因为在通配符之后对表示进行细粒度的定义可能会创建一个极其臃肿的样式表。如果您要使用通配符,我建议您使用更具体的通配符,例如:

* strong{color:#f00;}

上面的示例将使所有强元素的文本显示为红色,而不考虑未使用唯一标识符指定的其他CSS属性。这被认为比使用"!important“声明要安全得多,因为众所周知,该声明会对预期行为的自然功能造成干扰,并且是维护的噩梦。

您的示例中的星号出现在错误的位置,因为它们似乎出现在属性声明中,即花括号内的代码中,这可能会导致错误。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1667531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档