两次定义CSS属性

Chr*_*nch 18 css

general.css

#feedback_bar
{
  /*props*/
}
Run Code Online (Sandbox Code Playgroud)

another.css

#feedback_bar
{
  /*props*/
}
Run Code Online (Sandbox Code Playgroud)

这是允许的吗?两者都会继承吗?

Mar*_*rty 27

最后定义的属性将覆盖先前定义的属性.除非您使用!important先前定义的CSS部分.

.thing {
    padding: 10px;
}

.thing {
    padding: 12px;
}
Run Code Online (Sandbox Code Playgroud)

.thing 会的 padding: 12px;

.thing {
    padding: 15px !important;
}

.thing {
    padding: 123px;
}
Run Code Online (Sandbox Code Playgroud)

.thing 会的 padding: 15px;

这是允许的,并且为了更严格地回答你的问题,两者都将被继承,如下例所示:

.thing {
    padding: 10px;
}

.thing {
    background: red;
}
Run Code Online (Sandbox Code Playgroud)

.thing会有两个padding: 10px;background: red;.

另外,请花点时间阅读一些关于这个答案的评论,因为它们提出了值得进一步阅读的好点.

  • 我认为值得一提的是`!important`旨在成为一种诊断工具 - 而不是草率CSS的解决方案. (10认同)
  • 同意.但既然你已经为我做了,我不会;) (3认同)