このMS 互換性テーブルでは、IE9 は疑似要素::before
と をサポートしていません::after
が、試してみるとサポートしているようです... JSBinを参照してください
私は何か間違ったことをしていますか?私はIE9から何かを隠すための素晴らしいツールだと思っ::before
て::after
いましたが、実際にはそうではありません。
このMS 互換性テーブルでは、IE9 は疑似要素::before
と をサポートしていません::after
が、試してみるとサポートしているようです... JSBinを参照してください
私は何か間違ったことをしていますか?私はIE9から何かを隠すための素晴らしいツールだと思っ::before
て::after
いましたが、実際にはそうではありません。
従来のシングルコロン表記の CSS2 疑似要素:before
および:after
は、IE8 以降でサポートされています。それらは CSS3 にとって新しいものではありません。
一方、ダブルコロン表記はCSS3 の新機能です。IE9は::before
andのこの新しい表記法をサポートして::after
おり、CSS1 疑似要素::first-line
andについても同様です::first-letter
。ただし、将来的には、新しい疑似要素で単一コロンの構文を使用することはできず、ブラウザー (IE を含む) はすべての疑似要素で二重コロンの構文をサポートすることが期待されます。
上記のリンクされた個々のセレクターのドキュメントとテストケースによると、確かにIE9が新しい疑似要素構文をサポートしていないため、その表がIE9が新しい疑似要素構文をサポートしていないと言っている理由はわかりません。もちろん、この答えも。
IE 9は、表記法::after
と::before
(2つのコロンを使用した)「標準モード」をサポートしています。「クァークズモード」では、そうではありません。これは、たとえば次のようにテストできます。
<style>
p::after {
content: "***AFTER***";
}
</style>
<p>Hello world
ここでは、IE 9がクァークズモードになるため、CSSルールは無視されます。ただし、最初に次の行を追加すると、IE 9は標準モードになり、CSSルールが有効になります。
<!doctype html>
IE 9では、クァークズモードでは、新しいCSS機能(CSS 2.1にもIEレガシーにもないほとんどの機能)がサポートされていないのが一般的です。クァークズモードでは、IE9は古い1コロン表記もサポートしていませ :after
ん:before
。開発者ツール(F12)で手動、「ドキュメントモード」メニュー、またはタグを使用してドキュメントレベルで選択できる「IE8モード」でそれらをサポートします(2コロンバージョンはサポートしません)<meta http-equiv="X-UA-Compatible" content="IE=8">
。
http://www.w3.org/community/webed/wiki/Advanced_CSS_selectorsから引用
CSS3 疑似要素の二重コロン構文 疑似要素 を記述する新しい CSS3 の方法は、疑似クラスと区別するために a::after { ... } のように二重コロンを使用することに注意してください。これは、CSS で時々見られることがあります。ただし、CSS3 では、下位互換性のために単一のコロン疑似要素も引き続き許可されているため、当面はこの構文を使用することをお勧めします。