下理论上应该合作,就我所知的,但不是:隐藏TD的所有div.class孩子,然后显示第一div.class孩子
td small.attachments {
display: none;
}
td small.attachments:first-child {
display: inline-block !important;
}
<table>
<tr>
<td class="views-field-field-entry-images-fid">
<a href="#"><img src="x.jpg" /></a>
<small class="attachments">Files<div class="file-listing">Content A + B</div></small>
<small class="attachments">Files<div class="file-listing">Content B</div></small>
<small class="links">Links<div class="file-listing">Content C</div></small>
</td>
</tr>
</table>
结果是,任何时候small.attachments元素都没有small.attachment兄弟,它会很好地显示,应用第一个子规则并覆盖display:none规则。
但是,当一个TD中有两个small.attachments元素(如上例)时,两个都是隐藏的,并且第一个子规则不起作用。
发生了什么事? PS:我已经在Safari和Firefox上测试过了。
请注意,您不能将`div`元素放在`small`里面。你可以试试`:first-of-type`而不是`:first-child`。 – Oriol 2016-03-04 01:04:06