のセパレータの幅に等しい左のパディングを使用してli
、の背景のみを変更できa
ます。class="separator"
また、最初のリスト項目を除くすべての項目で使用されていることに気づきました。:first-child
これを疑似セレクターに置き換えることができます。次に、次のようなものが得られます。
li:first-child { padding-left: 0; background: transparent; }
li { padding-left: 3px; background: url(separator.png) no-repeat; }
li a { line-height: 40px; padding: 0 15px; }
li a:hover { background: url(anchor-hover.png) repeat-x; }
編集:上記のCSSは、このソリューションのコアスタイリングをカバーしています。これが実際の例です(背景色を使用):
http://jsfiddle.net/haa5X/3/
完全なCSS:
ul { overflow: hidden; background: green; }
li:first-child { padding-left: 0; }
li { padding-left: 3px; float: left; background: red; }
li a { float: left; line-height: 40px; padding: 0 15px; background: yellow; }
li a:hover { background: purple; }
完全なHTML:
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
編集2:申し訳ありませんが、サブメニューの一部を見逃しました:
http://jsfiddle.net/haa5X/4/
完全なCSS:
ul { overflow: hidden; margin: 0; background: green; }
ul > li:first-child { padding-left: 0; }
ul > li { padding-left: 3px; float: left; background: red; }
ul > li a { float: left; line-height: 40px; padding: 0 15px; background: yellow; }
ul > li a:hover { background: purple; }
li ul { display: none; position: absolute; margin-top: 40px; }
li:hover ul { display: block; }
li li { padding-left: 0; float: none; display: block; }
li li a { float: none; display: block; width: 100%; }
完全なHTML:
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a>
<ul>
<li><a href="#">First sub item</a></li>
<li><a href="#">Sub item 2</a></li>
<li><a href="#">Last sub item</a></li>
</ul>
</li>
<li><a href="#">Item 3</a></li>
</ul>
</ p>