Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS:最后一个子项覆盖所有_Html_Css_Css Selectors - Fatal编程技术网

Html 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; } 。服务摘要。项目:第

带有:last child的css将覆盖所有其他子项

.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将其与詹姆斯的答案进行比较时