【发布时间】:2016-03-04 09:14:32
【问题描述】:
如果某个属性没有默认值,是否可以在 CSS 中覆盖该属性?
例如,假设您的主样式表为特定元素定义了边框:
#element {
border: 1px solid #000;
}
如果您想禁用辅助样式表的边框,您可以这样做:
#element {
border: none;
}
假设第二个样式表是在第一个样式表之后加载的,border: none 规则将优先并删除边框。
但是,如果您试图覆盖一个没有默认值或空值的属性呢?
#element {
position: absolute;
left: 0;
}
现在说,在您的辅助样式表中,您想这样做:
#element {
right: 0;
top: 0;
}
而且您不希望 left 有任何价值。没有 left: none; 这样的东西,所以......你如何“取消声明”主样式表中分配的 left 属性?
【问题讨论】:
-
“没有默认值或空值的属性”是什么意思?根据规范,每个属性都有一个初始值,一些浏览器可能会为它们的 UA 样式表中的某些元素设置自己的值。
标签: css inheritance css-cascade