[英]Move content added with pseudo-element:after
thanks in advance for the help! 先谢谢您的帮助! I created a menu with this code: 我用以下代码创建了一个菜单:
<div class="img-nav">
<ul>
<li>
<a href="#">places</a>
</li>
<li>
<a href="#">people</a>
</li>
<li>
<a href="#">abstract</a>
</li>
<li>
<a href="#">funny</a>
</li>
</ul>
</div>
I then added a "/" sign after every menu item with: 然后,我在每个菜单项之后添加了一个“ /”符号:
.img-nav li:after {
content: " / ";
}
.img-nav li:last-child:after {
content: " ";
}
The problem is that if I add a margin to my items, the "/" is not centered like this: 问题是,如果我在项目中添加边距,则“ /”不会像这样居中:
ITEM1/ ITEM2/ ITEM3/ ITEM4
How can I reposition or move the "/" to be centered again? 如何重新定位或移动“ /”使其再次居中? Thank you all! 谢谢你们!
You can add equal margin to your :after
psuedo-selector to make it appear equal. 您可以向:after
伪选择器中添加相等的边距,以使其看起来相等。
.img-nav li {
display: inline;
margin-left:5px;
}
.img-nav li:after {
content: " / ";
margin-left: 5px;
}
.img-nav li:last-child:after {
content: " ";
}
Here is my jsfiddle 这是我的jsfiddle
I hope this helps. 我希望这有帮助。
Use padding on the pseudo-element. 在伪元素上使用填充。
ul { text-align: center; } .img-nav ul li { display: inline-block; } .img-nav li:after { content: " / "; margin: 0 1em; display: inline-block; } .img-nav li:last-child:after { content: " "; }
<div class="img-nav"> <ul> <li> <a href="#">places</a> </li> <li> <a href="#">people</a> </li> <li> <a href="#">abstract</a> </li> <li> <a href="#">funny</a> </li> </ul> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.