このフィドルを参照してください。
新しく追加された青い div が段落の上に表示されるのはなぜですか? :beforeの後ろに置くべきではありませんpか?
:beforeとの z 次元の位置についてコメントしているドキュメントはないよう:afterです。そして、@BoltClock が指摘するように、スタックに関しては通常の要素 (非疑似要素) と同じように動作する必要があります。
段落自体の後ろに配置したい場合は、セグメントで使用z-index: -1;してみてください。:before(基本フィドル: http://jsfiddle.net/fDvTk/ ; 適用フィドル: http://jsfiddle.net/XvYng/ )
コード:
#example1 p:before{
/* ... */
z-index: -1;
}