在某些文章文本中,图像被包裹在p.img
标签中,标签分别位于顶部和尾部,并带有边框和一些填充:
p.img {
border-top: 1px dotted #414042;
border-bottom: 1px dotted #414042;
padding-top: 20px;
padding-bottom: 20px;
}
然而,当一堆图片相继出现时,像这样:
<p class="img"><img ...></p>
<p class="img"><img ...></p>
<p class="img"><img ...></p>
<p class="img"><img ...></p>
我只希望 padding-top 和border-top 应用于p.img
组中的第一个,以及组padding-bottom
中border-bottom
的最后一个p.img
。`p.img' 需要删除所有边框和填充。
我尝试尝试使用p.img + p.img
相邻的选择器,但我无法影响p.img
组中的第一个和最后一个。
在我求助于 JS 之前,如果有人可以帮助我仅使用 CSS 实现这一点,那就太好了。
编辑 一些建议我使用第一个孩子和最后一个孩子选择器,但我不想影响任何不属于一组相邻 p.img 的 p.img。即这行不通(在 sass 中)
p.img + p.img {
border-top: 0;
border-bottom: 0;
padding-top: 0;
&:first-child {
border-bottom: 0;
padding-bottom: 0;
}
&:last-child {
border-top: 0;
padding-top: 0;
}
}
我的文章可能是这样的:
article
p
p
p.img
p
p.img
p.img
p.img
p
这只是我想要设计样式的三个组中的 p.img;不是第一个,个人的。