我想使用一个开关在网页上的段落标签的布局。
我使用后伪元素:
p:after {content: url("../img/paragraph.gif");}
现在我需要从页面中删除此CSS代码。
这怎么容易做到呢?
我还想补充一点:
页面上已经使用了jQuery
和我不想包括或删除文件包含CSS。
你需要添加一个css规则来删除后面的内容(通过课堂)..
由于一些有效的注释,一个更新。
完全删除/禁用:after规则的更正确的方法是使用
:after
p.no-after:after{content:none;}
Gillian Lo Wong回答道。
原来的答案
p.no-after:after{content:"";}
并将该类添加到你的p,当你想用这一行
p
$('p').addClass('no-after'); // replace the p selector with what you need...
一个工作示例:http://www.jsfiddle.net/G2czw/
这取决于伪选择器实际添加了什么。在你的情况下,将content设置为""将摆脱它,但如果你在设置边界或背景或其他什么,你需要明确地将这些归零。据我所知,没有一种包治百病的方法可以删除关于前后元素的所有内容,不管它是什么。
""
p:after { content: none; }
没有一个是将内容(如果指定)设置为空的正式值。
http://www.w3schools.com/cssref/pr_gen_content.asp
$('p:after').css('display','none');
作为在Gillian的回答中提到,将none赋值给content可以解决这个问题:
none
content
p::after { content: none; }
注意,在CSS3中,W3C建议对伪元素使用两个冒号(::),如::before或::after。
::
::before
::after
从MDN网络文档伪元素:
作为规则,应该使用双冒号(::)而不是单冒号 结肠(:)。这区分了伪类和伪元素。 然而,由于这种区别不存在于旧版本的 W3C规范,大多数浏览器都支持这两种语法 兼容性。注意::selection必须总是以double开头 冒号(::)。< / p >
:
::selection
这是一种删除:after的方法,你可以对:before做同样的事情
:before
几分钟前也有同样的问题,只是content:none;没有工作,但添加content:none !important;和display:none !important;对我有用吗
content:none;
content:none !important;
display:none !important;
*::after { content: none !important; } *::before { content: none !important; }