問題 諸事情で、.hogeのpre要素 <pre class="hoge">...</pre> はあるスタイルシートを適用して、class属性のない素のpre要素 <pre>...</pre> には別のあるスタイルシートを適用したいです。 さらに、既存の別のclassが指定されているpre要素 <pre class="何か">...</pre> には影響を与えたくないです。 できますか。 答え CSS3の「疑似否定クラス E:not(s) → セレクタsにマッチしない要素E」を使うとできる。 pre.hoge { /* .hoge に適用される */ } p:not([class]) { /* class属性の指定がない素のpreに適用される。他のclass属性のある要素には影響しない。 */ } IEは9以降なら対応している。 今どきのブラウザなら大丈夫。 CSS #demo201511
![【CSS3】疑似否定クラス E:not(s) at softelメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/1620a2775f4e0a28e97402c8c3ff6757f2001938/height=288;version=1;width=512/https%3A%2F%2Fwww.softel.co.jp%2Fblogs%2Ftech%2Fwordpress%2Fwp-content%2Fuploads%2F2015%2F11%2Fhtml5_Logo_256.png)