Html CSS:最后一个子项覆盖所有
带有:last child的css将覆盖所有其他子项Html CSS:最后一个子项覆盖所有,html,css,css-selectors,Html,Css,Css Selectors,带有:last child的css将覆盖所有其他子项 .service-teaser .col-md-4 .item { margin-left: 50px; margin-right: 0px; } 。服务摘要。项目:第
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
。服务摘要。项目:第一个子项{
左边距:0px;
右边距:50px;
}
.service摘要。项:最后一个子项{
左边距:50像素;
右边距:0px;
}
我的html如下所示:
<div class="container service-teaser>
<div class="row">
<div class="col-md-4">
<a href="#" class="item"></a>
</div>
<div class="col-md-4">
<a href="#" class="item"></a>
</div>
<div class="col-md-4">
<a href="#" class="item"></a>
</div>
</div>
</div>
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
每个.item
都位于它自己的.col-md-4
元素中,因此无法使用:first child
或:last child
来定位它们.item
s应该在一个容器中,或者您应该以.col-md-4
元素为目标。例如:
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
.service-triser.col-md-4:第一个子项{
左边距:0px;
右边距:50px;
}
.service STREASER.col-md-4:最后一个子项。项{
左边距:50像素;
右边距:0px;
}
您的.item
元素是其父元素中唯一的子元素,因此也是最后一个子元素。
要实现我认为您正在寻找的目标,您需要:
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
这不是一个建议的解决方案,因为您应该尽量避免使用框架类作为样式的一部分,但是通过对标记进行一些小的更新,您可以获得相同的结果。问题在于您的.item
元素被包装在div
元素中。它们总是那些div
元素中的:第一个子元素和:最后一个子元素。相反,您需要将这些伪类选择器放置在div
元素本身上:
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
.service-trister.row-div:first-child.item{…}
.service-striser.row-div:最后一个子项{…}
这是因为在div.item
的范围内,每个项目都被视为第一个和最后一个孩子
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
改为这样做:
.service-teaser .col-md-4 .item {
margin-left: 50px;
margin-right: 0px;
}
.service-teaser .col-md-4:first-child .item {
margin-left: 0px;
margin-right: 50px;
}
.service-teaser .col-md-4:last-child .item {
margin-left: 50px;
margin-right: 0px;
}
我想这正是OP想要的。你的意思是服务挑逗。行分区:第一个孩子…
实际上。你为什么编辑它.service trister div.col-md-4:first child
也是正确的。@Abhitalks:更具体地说,我想在这种情况下这是多余的。是的,但对于Op来说,这种特殊性会让您更容易理解第n个child
是如何工作的!:)尤其是当Op将其与詹姆斯的答案进行比较时