下理論上應該合作,就我所知的,但不是:隱藏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