我想使用一个开关来布局网页上的段落标签。
我使用 after 伪元素:
p:after {content: url("../img/paragraph.gif");}
现在我需要从页面中删除这个 CSS 代码。
这怎么能轻松完成?
我想补充一点:
页面上已经使用了 jQuery
而且我不想包含或删除包含 CSS 的文件。
我想使用一个开关来布局网页上的段落标签。
我使用 after 伪元素:
p:after {content: url("../img/paragraph.gif");}
现在我需要从页面中删除这个 CSS 代码。
这怎么能轻松完成?
我想补充一点:
页面上已经使用了 jQuery
而且我不想包含或删除包含 CSS 的文件。
p:after {
content: none;
}
none是将内容(如果指定)设置为空的官方值。
您需要添加一个 css 规则来删除之后的内容(通过一个类)..
由于一些有效的评论而更新。
完全删除/禁用:after
规则的更正确方法是使用
p.no-after:after{content:none;}
正如阿娇罗王回答的那样。
原始答案
您需要添加一个 css 规则来删除之后的内容(通过一个类)..
p.no-after:after{content:"";}
p
并在您想要使用此行时
将该类添加到您的
$('p').addClass('no-after'); // replace the p selector with what you need...
一个工作示例: http: //www.jsfiddle.net/G2czw/
$('p:after').css('display','none');
正如Gillian 的回答中提到的,分配none
给content
解决了这个问题:
p::after {
content: none;
}
请注意,在CSS3中,W3C建议使用两个冒号 ( ::
) 来表示类似or的伪元素。::before
::after
来自MDN web doc on Pseudo-elements:
注意:通常,
::
应使用双冒号 ( ) 而不是单冒号 (:
)。这将伪类与伪元素区分开来。但是,由于旧版本的 W3C 规范中不存在这种区别,因此为了兼容性,大多数浏览器都支持这两种语法。请注意,::selection
必须始终以双冒号 (::
) 开头。
这取决于伪选择器实际添加的内容。在您的情况下,将内容设置为""
将摆脱它,但如果您正在设置边框或背景或其他任何内容,您需要专门将它们归零。据我所知,没有一种万灵药可以删除之前/之后元素的所有内容,无论它是什么。
*::after {
content: none !important;
}
*::before {
content: none !important;
}
几分钟前有同样的问题,只是content:none;
没有做工作,但添加content:none !important;
并display:none !important;
为我工作
p:after {
content: none;
}
这是一种删除的方法:after
,您可以对:before