body要素の:before, :after擬似要素でdisplayプロパティの値をblockやmarkerにすると、擬似要素に対する背景の指定が無視される。
<style type="text/css">
body:before {
display: block;
background: yellow;
border: 2px solid blue;
content: "BEFORE";
}
body:after {
display: block;
background: aqua;
border: 2px solid red;
content: "AFTER";
}
</style>
body要素に背景色を指定した:before擬似要素と:after擬似要素を設置しています。
Netscape7.1標準モード
Opera7.53標準モード
body要素の背景がtransparent値の場合、:beforeまたは:after擬似要素に指定した背景がbody要素全体に表示される場合があります。具体的には:before擬似要素に透過以外の背景を指定した場合は:before擬似要素の背景が、そうでない場合は:after擬似要素の背景がbody要素の背景として表示されるようです。