Насколько мне известно, в теории должно работать следующее, но это не так:
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, он отображается нормально, с применением правила первого ребенка и переопределениемна дисплее: правило отсутствует.
Однако, когда в TD есть два элемента small.attachments, один за другим (в примере выше), ОБА скрыты, а первый -Дочернее правило не действует.
Что происходит?
PS: я тестировал в Safari и Firefox.