如果隐藏了其他孩子,则CSS only-child

时间:2014-04-16 13:51:22

标签: css css3 css-selectors

是否有任何方法(仅使用CSS)为元素添加填充(如果它不是唯一的VISIBLE子元素?)

到目前为止,我使用它:NOT和:only-child选择器:

div span:not(:only-child) {
    padding-right:5px;
}

然而不幸的是,如果另一个孩子存在但是它被隐藏了,它被认为不是唯一的孩子并且填充被应用。

在这里演示: http://jsfiddle.net/3Qr7v/

希望这是有道理的。

由于

1 个答案:

答案 0 :(得分:1)

没有CSS选择器用于区分可见元素与隐藏或不明显的元素。

由于您的演示使用了jQuery,因此:visible选择器makes it easy enough

$("div span:nth-child(2):not(:has(+ span:visible))").css("padding-right", "5px");

如果你不能使用jQuery或你的实际标记要复杂得多,你必须找到另一种方法,通过修改标记或使用脚本,来确定何时应用该填充。仅使用CSS无法解决您的情况。