如何使 css 属性无效?
Posted
技术标签:
【中文标题】如何使 css 属性无效?【英文标题】:How can I nullify css property? 【发布时间】:2011-07-10 06:34:31 【问题描述】:基本上我的页面中有两个外部 css。
第一个Main.css
包含所有样式规则,但我无权访问它,因此我无法修改它。我可以访问第二个文件 Template.css
,因此我需要覆盖 template.css
中的 Main.css
的值。
这很容易,我必须更改值,但是如何完全删除属性?
就像说一个类.c1
有height: 40px;
,我该如何摆脱这个高度属性?
【问题讨论】:
***.com/questions/15901030/… 【参考方案1】:您必须将每个单独的属性重置为其默认值。这不是很好,但鉴于您提供给我们的信息,这是唯一的方法。
在你的例子中,你会这样做:
.c1
height: auto;
您应该在这里搜索每个属性:
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference
对于example, height
:
初始值:
auto
另一个example, max-height
:
初始值:
none
2017 年,现在有了另一种方式,unset
关键字:
.c1
height: unset;
一些文档:https://developer.mozilla.org/en-US/docs/Web/CSS/unset
未设置的 CSS 关键字是初始和继承的组合 关键词。像这两个其他 CSS 范围的关键字一样,它可以应用于 任何 CSS 属性,包括 CSS 速记 all。此关键字重置 如果从其父级继承,则该属性为其继承值,或者 如果不是,则返回其初始值。换句话说,它的行为类似于 在第一种情况下继承关键字,就像在 第二种情况。
浏览器支持不错:http://caniuse.com/css-unset-value
【讨论】:
+1 以获得很好的答案和参考。我认为链接已更改为:developer.mozilla.org/en-US/docs/Web/CSS/Reference 当没有初始值(“初始值:无”)时,将值设置为自动似乎不起作用。例如,在执行“max-width:auto;”时我收到不匹配的属性值错误。我该怎么办? @user1779563 您将其设置为“无”。 我要感谢@simhumileco 提供的his answer,因为我的答案被接受并且人们可能不会向下滚动,所以我无耻地窃取了它。【参考方案2】:.c1
height: unset;
CSS3 中添加的 unset
值也解决了这个问题,它比 auto
或 initial
更通用,因为它设置了每个 CSS 属性它的默认值以及相对于其父级的默认行为。
请注意,initial
值会破坏上述行为。
来自MDN:
与其他两个 CSS 范围的关键字一样,它可以应用于任何 CSS 属性,包括 CSS 简写 all。如果属性从其父级继承,则此关键字将属性重置为其继承值,否则重置为其初始值。
【讨论】:
【参考方案3】:就像说一个类 .c1 有 height:40px;如何摆脱这个高度属性?
很遗憾,你不能。 CSS 没有“默认”占位符。
在这种情况下,您可以使用
重置属性 height: auto;
正如@Ben 正确指出的那样,在某些情况下,inherit
是正确的方法,例如在重置 a
元素的文本颜色时(该属性是从父元素继承的):
a color: inherit
【讨论】:
我会给 +1 的。还有“继承”价值。在除身高以外的某些情况下,继承更合适。 @meo 你是对的。 (Related question) 这似乎意味着IE中有些属性无法重置为默认值...可惜【参考方案4】:在 CSS3 中添加了一个 initial
关键字,以允许作者明确指定此初始值。
【讨论】:
仅供参考:height:initial;
在 IE9 中似乎不起作用。
那么initial
和auto
和unset
之间有什么区别?。【参考方案5】:
要摆脱固定高度属性,您可以将其设置为默认值:
height: auto;
【讨论】:
【参考方案6】:您需要提供一个比Main.css
更高的specificity 选择器。使用该选择器,将所需属性的值设置为默认值,例如
body .c1
height: auto;
没有适用于所有属性的“默认”值,您需要查看每个属性的默认值并使用它。
【讨论】:
【参考方案7】:我有一个问题,即使我将“高度”覆盖为“未设置”或“初始”,它的行为与我删除之前的设置时不同。
原来我也需要删除 min-height 属性!
height: unset;
min-height: none
编辑:我在 IE 7 上进行了测试,它无法识别“未设置”,因此“自动”效果更好”。
【讨论】:
对于未来的读者:if "min-height: none;"对您不起作用,请尝试使用值为 0 的 min-height 属性无效。以上是关于如何使 css 属性无效?的主要内容,如果未能解决你的问题,请参考以下文章
支持 django 模板和 HTML/CSS 验证的编辑器或 IDE?