CSS Last-Child选择器 - 影响我的所有DIV?

时间:2010-09-28 13:24:09

标签: css css3 css-selectors

我有以下

CSS

.streamBox {
 font-size:12px;
 background-color:#EDEFF4;
 border-bottom:1px solid #E5EAF1;
 margin-top:2px;
 padding:5px 5px 4px;
}
.streamBox:last-child {
   border: none;
}

HTML

<ul id="activityStream">

 <li class="story">
  <div class="streamBox nobkgcolor" id="">
  Stuff
  </div>
 </li>

 <li class="story">
  <div class="streamBox nobkgcolor" id="">
  Stuff
  </div>
 </li>

 <li class="story">
  <div class="streamBox nobkgcolor" id="">
  Stuff
  </div>
 </li>

</ul>

我认为最后一个子选择器会使它最后DIV没有边界......但是现在所有的DIV都没有边界? Y'

关于如何使CSS如此制作的建议只是最后一个div没有边框?

谢谢,

1 个答案:

答案 0 :(得分:7)

有关更新的问题:

你的选择器需要调整,它应该是:

li:last-child .streamBox {
  border: none;
}

<div class="streamBox">既是父级的第一个也是最后一个孩子,所以您当前的选择器会匹配所有这些,而不是最后一个<div> <li> 1}},请使用:last-child上的<li>you can test it here(我将边框更改为黑色以使其更明显)。

上一个问题: 这是因为你错过了class=""属性的引用,修改如下:

<div class="box">blah blah</div>
<div class="box">blah blah</div>
<div class="box">blah blah</div>
<div class="box">blah blah</div>​​​​

然后按预期工作,前3个有边框,you can test it here