web-dev-qa-db-ja.com

css:擬似要素を削除する方法(後、前、...)

Webページ上の段落タグのレイアウトにスイッチを使用したいと思います。

After擬似要素を使用します

p:after {content: url("../img/paragraph.gif");}

今、私はこのCSSコードをページから削除する必要があります。どのようにこれを簡単に行うことができますか(ページでjqueryがすでに使用されています)? (私はCSSを含むファイルを含めたり削除したくない)

194
Thariama
p:after {
   content: none;
}

noneは、指定されている場合、コンテンツを何も設定しない公式の値です。

http://www.w3schools.com/cssref/pr_gen_content.asp

368
Gillian Lo Wong

Afterコンテンツを削除するcssルールを追加する必要があります(through a class)。


有効なコメントがあるため、Anupdate

:afterルールを完全に削除/無効にするより正しい方法は、

p.no-after:after{content:none;}

as ジリアンローウォン回答


元の回答

Afterコンテンツを削除するcssルールを追加する必要があります(through a class)。

p.no-after:after{content:"";}

この行で必要なときに、そのクラスをpに追加します

$('p').addClass('no-after'); // replace the p selector with what you need...

実例: http://www.jsfiddle.net/G2czw/

25
$('p:after').css('display','none');
17

ジリアンの答えに記載されている のように、nonecontentに割り当てると問題が解決します。

p::after {
   content: none;
}

CSSW3Cでは、pseudo-elementsのように2つのコロン(::)を使用することをお勧めしますbeforeまたはafter

擬似要素に関するMDN Webドキュメント から

注:原則として、単一のコロン(::)ではなく、二重コロン(:)を使用する必要があります。これにより、擬似クラスと擬似要素が区別されます。ただし、この区別はW3C仕様の古いバージョンには存在しなかったため、ほとんどのブラウザーは互換性のために両方の構文をサポートしています。 ::selectionは常に二重コロン(::)で始まる必要があることに注意してください。

8
simhumileco

これは、疑似セレクターによって実際に追加されるものに依存します。あなたの状況では、コンテンツを""に設定すると削除されますが、境界線や背景などを設定する場合は、それらを明確にゼロにする必要があります。私の知る限り、前/後の要素に関するすべてを削除するための万能薬はありません。

5
drewww