如果我有以下属性:
html {
text-decoration: none !important;
}
但是我想允许一个文字装饰,比如“直通”仍然是活跃的......
有可能这样做吗?怎么样?
编辑:我不知道这个应用的HTML是什么 - 通过浏览器插件是动态的......
谢谢!
答案 0 :(得分:2)
您可以在特定元素/元素上指定此属性,例如
.decorated {
text-decoration: line-through;
}
这样,text-decoration
的{{1}}值将不会继承。
修改强>:
http://jsfiddle.net/mGGnc/证明了这一点。当然,如果将none
类添加到decorated
元素,这将永远不会起作用,因为在这种情况下将不存在属性值继承。 CSS2 spec解释了这一点。
答案 1 :(得分:1)
如果您要为您的元素单独创建一个类,那么它将不会从您的inherited
reset css
您可以像这样轻松实现所需: -
html {
text-decoration: none;
}
.anchor a {
text-decoration:line-through;
color:red;
}
答案 2 :(得分:0)
规则(非属性)html { text-decoration: none !important; }
没有任何影响,除了在相反的假设情况下,另一个样式表在根元素html
元素上设置属性。与流行的误解相反,text-decoration
元素不是继承的。当设置为none
以外的值时,其效果在某种意义上部分类似于继承。
在对答案的评论中,你写道:“这是一个文本装饰重置css,它可以删除所有装饰 - 除了我想要保留的一两个 - 就像直通”。像往常一样,一般重置CSS样式表往往会导致问题而不是解决问题。要覆盖所有元素的text-decoration
设置,您需要使用通用选择器*
(或所有已知和未知元素的列表)。但由于定义了属性的方式,您无法使其覆盖使用某些值而不覆盖其他值的设置。它的值为none
或以空格分隔的关键字列表,每个关键字都指定一个“装饰”。因此,如果不将属性设置为特定值,则无法取消其中一个关键字。