2

有没有办法只禁用一个 CSS 属性值?例如,对于属性'text-decoration',可能的值是none、underline、overline、line-through、blink和inherit。

我想允许文本装饰的所有值,但所有元素上的下划线除外。

我正在使用的页面是动态生成的,并且可以包含来自整个网络的内容——因此不可能针对任何特定元素。使用文本装饰“无”当然有效,但它也会吹走所有其他值:(

建议?

4

2 回答 2

2

仅使用 CSS 和 HTML 是无法做到这一点的。您需要的是类似于属性选择器的东西,以将文本装饰设置为下划线的页面上的所有元素作为目标,但现在不存在这样的东西。

但是,如果 JavaScript 是一个选项,那么您可以完成此操作。您将首先确定元素的样式,然后,如果需要,设置样式以去除下划线。

于 2013-01-07T17:20:03.460 回答
2

由于 Javascript 和 JQuery 中没有属性选择器之类的东西,因此您应该获取所有可能的元素,然后检查它们的 css 属性并在需要时进行更改。像这样的东西: $('*').each(function() { if ($(this).css('PROPERTY') == 'FORBIDDEN-VALUE') { $(this).css('PROPERTY', 'REPLACE-VALUE'); } });

于 2013-01-07T17:28:56.887 回答