次のメニューがあります。
CSS:
ul.menu {
padding: 0;
margin: 0;
font-size: 16px;
}
ul.menu > li {
display: block;
width: 100%;
margin: 0;
}
ul.menu > li:hover {
color: red;
}
ul.menu > li a {
display: block;
background:transparent url("http://placehold.it/25x25") right center no-repeat;
background-size: 15px 15px;
}
ul.menu > li > a:hover {
background-color: #F7F7F7;
}
HTML:
<div style="width: 200px; background-color: lightgrey;">
<ul class="menu">
<li>
<a href="">Line 1</a>
</li>
<li>
<a href="">Line 2</a>
</li>
<li>
<a href="">Line 3</a>
</li>
<li>
<a href="">Line 4</a>
</li>
</ul>
</div>
JSFiddle: http://jsfiddle.net/8TzMc/
ここまでは良いのですが、li の左右にパディング (約 10px) が必要です。また、li の高さを少し大きくしたいと思います (そのため、行の間にスペースができます)。文章)。この行を CSS に追加しようとしul.menu > li
ましたが、2 つの方法でメニューが台無しになります。
- メニュー項目の上端と下端の間にクリックできない隙間ができるようになりました
- 背景画像がおかしくなった
JSFiddle: http://jsfiddle.net/HXrgq/
これはどのように修正できますか?