目標は、「a」要素の背景画像を div#slider 要素の背景画像の上にレンダリングすることです。
まず、コードは次のとおりです。
<div id="top_bg">
<div id="top">
<nav>
<ul>
<li><a href="#">Link onegfdgdfg gd</a></li>
<li><a href="#">Link two</a></li>
<li><a href="#">Link three</a></li>
<li><a href="#">Link four</a></li>
<li><a href="#">Link five</a></li>
</ul>
</nav>
</div>
</div>
<div id="slider">
</div>
jFiddle リンクには、これに対する私の試みが含まれています: http://jsfiddle.net/zorza/drBBC/11/
相対「li」内の「a」要素の絶対配置を試してみました。これにより、z-index を指定できるようになり、#slider の上に表示できるようになりました。これはほとんど機能しますが、"a" を内部に配置するには "li" の幅を一定にする必要があり、内部のテキストが一定の幅よりも広い場合に問題が発生します (最初のメニュー項目を参照)。
私が取得したいのは、内部のテキストに応じて独自の幅を設定し、「li」要素の一定の幅を取り除くための「a」要素です。そのため、メニュー項目間のギャップは均等になります。
私が思いついた 2 番目の方法は、#slider 背景を 2 つのグラフィックにスライスし、そのうちの 1 つ (矢印の高さのもの) を #top div 背景画像内に配置することでした。このように、「a」要素を絶対に配置する必要はありません。しかし、このソリューションはまったく洗練されておらず、画像を変更する必要がある場合にあらゆる種類の問題を引き起こします。