body要素の:before, :after擬似要素でdisplayプロパティの値をblockやmarkerにすると、擬似要素に対する背景の指定が無視される。
- Category: Opera, ver.9 Under
- Tag: :after, :before, body
例示
<style type="text/css">
<!--
body:before {
display: block;
background: yellow;
border: 2px solid blue;
content: "BEFORE";
margin: 1em 0;
}
body:after {
display: block;
background: aqua;
border: 2px solid red;
content: "AFTER";
margin: 1em 0;
}
-->
</style>
body要素に背景色を指定した:before擬似要素と:after擬似要素を設置しています。
実際の表示については検証ページをご覧ください。
スクリーンショット
Netscape7.1標準モード
Opera7.53標準モード
補足
body要素の背景がtransparent値の場合、:beforeまたは:after擬似要素に指定した背景がbody要素全体に表示される場合があります。具体的には:before擬似要素に透過以外の背景を指定した場合は:before擬似要素の背景が、そうでない場合は:after擬似要素の背景がbody要素の背景として表示されるようです。
修正状況
- Opera7.53の標準モードと互換モードで不具合の発生を確認しました。
- Opera6.06でこの不具合は発生しないようです。


