我使用:first-of-type伪类来删除页边距,尽管它的行为就好像我根本不使用first-of-type一样,并且删除了所有元素上的页边距。
代码如下:
HTML
<ul id="share" class="hidden-xs">
<li><a href="#" class="twitter-share socialicon" title="Share on Twitter"><em class="fa fa-twitter" aria-hidden="true"></em><div class="sr-only">Share on Twitter</div></a></li>
<li><a href="#" class="instagram-share socialicon" title="Share on Instagram"><em class="fa fa-instagram" aria-hidden="true"></em><div class="sr-only">Share on Instagram</div></a></li>
<li><a href="#" class="envelope-share socialicon" title="Share via Email"><em class="fa fa-envelope" aria-hidden="true"></em><div class="sr-only">Share via Email</div></a></li>
</ul>CSS
.socialicon {
margin-left: 80px;
font-size: 12px;
vertical-align: middle;
}
.socialicon:first-of-type {
margin-left: 0px;
}
ul#share{
margin: 0px;
padding: 0px;
list-style: none;
display: inline;
line-height: 19px;
margin-left: 15px;
}
ul#share li{
display: inline-block;
}
ul#share li span {
color: white;
font-weight: 600;
text-transform: uppercase;
}发布于 2017-02-27 23:58:39
:first-of-type所做的并不完全直观-它不考虑整个文档,而是将父元素作为参考点。从这个意义上说,您的每个锚元素都是封闭的li元素中的“其类型的第一个元素”,这就是为什么选择器应用于每个元素的原因。相反,您需要做的是将:first-of-type向下移动一级到li元素。由于它们都在同一级别上,因此只有第一个li会受到影响。(但是,这也会影响同一页面上另一个列表中的第一个li )。
li:first-of-type .socialicon{
margin-left: 0px;
}https://stackoverflow.com/questions/42490129
复制相似问题