0

这个选择器不起作用。真的有可能吗?

看到这个http://jsfiddle.net/Hd7VZ/

.x-form-fieldset:last-child:not(x-item-hidden) {
    border-bottom: 0;
}

解决方案之一是这个http://jsfiddle.net/8Fpyu/

4

2 回答 2

2

antejan 的评论是正确的,目前您正在选择其块中的.x-form-fieldset哪个。:last-child如果你想选择:last-childinside.x-form-fieldset那么这是正确的语法:

.x-form-fieldset :last-child {
    border-bottom: 0;
}

但是,即使最后一项被隐藏,它仍然是:last-child,因此:not在您的示例中添加 将一事无成。

目前 CSS 中没有任何内容可以让您忽略不可见元素,正如您从示例的这个小修改中看到的那样,简单效果(如交替条纹)也被隐藏元素破坏。这可能是对未来版本 CSS 的一个有价值的补充,您可以尝试向 W3C CSS 工作组建议它,看看他们是否认为值得将其添加到选择器规范的未来版本中(CSS 选择器级别 4即将推出现在通过标准流程,但CSS5 选择器的想法正在被接受)。

与此同时,你要么找到替代标记方法,要么在 JavaScript 中破解它。

于 2013-01-16T16:49:48.470 回答
0

看起来您有语法错误,请添加“。” 如果它是一个类或'#',如果它是 x-item-hidden 之前的一个 id。
.x-form-fieldset:last-child:not(.x-item-hidden)|.x-form-fieldset:last-child:not(#x-item-hidden)

于 2013-01-16T15:53:59.240 回答