简体   繁体   English

移动添加了伪元素的内容:之后

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM