:before
Modernizr JavaScript ライブラリを使用して、サポートされていないブラウザー:after
(初期バージョンの IE など) を検出し、JavaScript を使用してそれらのセレクターをエミュレートできます。ライブラリの必要な部分だけをダウンロードするには、このリンクにアクセスしてください(適切なチェックボックスが既に選択されています)。.divClassGreen:before
次に、とのスタイルを模倣する 2 つのクラスを CSS に追加できます.divClassGreen:after
。
.divClassGreen:before, .divClassGreenBefore {
/* blah */
}
.divClassGreen:after, .divClassGreenAfter {
/* more blah */
}
最後に、JavaScript を使用して、スタイルとを持つ空のdiv
タグを前後に追加し.divClassGreen
ます ( があるため空です) 。content: ''
.divClassGreenBefore
.divClassGreenAfter
//If the browser doesn't support generated content (:before and :after)
if (!Modernizr.generatedcontent) {
var divClassGreen = document.getElementsByClassName("divClassGreen"); //returns a NodeList
//Create the equivalents of :before and :after
var divClassGreenBefore = document.createElement('div');
var divClassGreenAfter = document.createElement('div');
//Add the appropriate classes
divClassGreenBefore.className = 'divClassGreenBefore';
divClassGreenAfter.className = 'divClassGreenAfter';
//Iterate through the NodeList, which adds the element before and after each .divClassGreen
for (i = 0; i < divClassGreen.length; i++) {
//Adds before
divClassGreen[i].parentNode.insertBefore(divClassGreenBefore, divClassGreen[i]);
//There's no insertAfter, so imitate it by using insertBefore on the hypothetical (next) sibling of divClassGreen
divClassGreen[i].parentNode.insertBefore(divClassGreenAfter, divClassGreen[i].nextSibling);
}
}