我有以下菜单:
.menu ul {
list-style: none;
}
.menu ul li {
height: 35px;
text-align: center;
line-height: 35px;
}
li.current {
background-color: #3eb5f1;
color: white;
}
li.current::after {
content: "";
height: 11px;
width: 8px;
display: inline-block;
background-image: url("../images/nav-arrow.png");
}
<div class="menu">
<ul>
<li class="current">Home page</li>
<li>Inventory</li>
</ul>
</div>
如图所示,li.current
元素有一个图标,但我想添加一个边距。但是,当我在margin
中定义li.current::after
时,它会影响整个元素; <li class="current">
内的文字不仅仅是图标。
如何设置li.current::after
的余量?图片 - http://oi59.tinypic.com/108658l.jpg
答案 0 :(得分:2)
而不是display: inline-block
,将伪元素的位置设置为绝对值。然后,您可以向其应用左边距,而不会影响&#34;主页&#34;的文本位置:
.menu ul {
list-style: none;
}
.menu ul li {
height: 35px;
text-align: center;
line-height: 35px;
}
li.current {
background-color: #3eb5f1;
color: white;
}
li.current::after {
content: "image";
height: 11px;
width: 8px;
position: absolute;
margin-left: 50px;
}
&#13;
<div class="menu">
<ul>
<li class="current">Home page</li>
<li>Inventory</li>
</ul>
</div>
&#13;