因此,我对您的代码进行了一些更改,以解决您的问题:
>增加子弹从顶部的距离
>通过左侧居中:50%和translateX(-50%)
>将子弹设置为绝对位置,并将其父级li设置为相对位置,否则只要将鼠标悬停在其上,链接就会略微向右移动(并且中心部分会稍微困难)
您可以查看下面的代码段以查看最终结果:
.top-menu-left ul {
list-style: none;
}
.top-menu-left ul li {
display: inline-block;
position: relative;
}
.top-menu-left ul li + li {
margin-left: 25px;
}
.top-menu-left ul li a:hover:before {
content: "\2022";
position: absolute;
top: 1em;
left: 50%;
translate: translateX(-50%);
}
编辑:
由于您试图将项目符号放在列表项之后,您应该使用after伪元素(感谢@ErickPetrucelli).
如果你愿意,你仍然可以通过右(而不是左)和translateX来定位它,或者如果你不想这样做,你可以改为采用以下方法:
.top-menu-left ul li a:hover:after {
[...]
display: block;
width: 100%;
text-align: center;
}
两种技术之间只有一个小的区别:通过左边定位:0或右边:0和translateX(-50%)只占用子弹所需的空间(左图),通过display:block和text-align:center将区域拉伸到整个区域(右图).
结论:
考虑到您可能只展示上述子弹,使用哪种方法无关紧要.
但是让我们说你想在链接下面显示一些文字,然后display:block方法可能会更好地为你服务,因为它允许文本很好地包装(右图),就像前一种方法一样,文本不会’ t居中并会溢出(左图).