是否有任何方法(仅使用CSS)为元素添加填充(如果它不是唯一的VISIBLE子元素?)
到目前为止,我使用它:NOT和:only-child选择器:
div span:not(:only-child) {
padding-right:5px;
}
然而不幸的是,如果另一个孩子存在但是它被隐藏了,它被认为不是唯一的孩子并且填充被应用。
在这里演示: http://jsfiddle.net/3Qr7v/
希望这是有道理的。
由于
答案 0 :(得分:1)
没有CSS选择器用于区分可见元素与隐藏或不明显的元素。
由于您的演示使用了jQuery,因此:visible
选择器makes it easy enough:
$("div span:nth-child(2):not(:has(+ span:visible))").css("padding-right", "5px");
如果你不能使用jQuery或你的实际标记要复杂得多,你必须找到另一种方法,通过修改标记或使用脚本,来确定何时应用该填充。仅使用CSS无法解决您的情况。