css - :not pseudo class selector - css issue 伪类的功能

标签 css css-selectors css-transitions pseudo-class

我正在尝试选择除我当前单击的内容以外的所有内容。

基本上,我有一堆 .node-teaser 元素,它们都采用相同的样式并具有相同的类,只是它们在 :active 上变得更大。

当我点击一个时,我想“重置”所有其他动画/过渡,以便只有当前的动画/过渡变大。所以,基本上,我想:

.node-teaser:not(.node-teaser:active) {
   max-height: 50px;
   .....
}

但是,我不能使用伪类作为 :not() 的参数。我该如何以不同的方式解决问题,或者我是否遗漏了什么?

我坚持使用我拥有的类,因为它们是由 Drupal 生成的,我真的不想为主题更改我的 PHP 模板。而且,我想向自己证明这适用于纯 CSS,但我被卡住了。

有这个~选择器。如果有东西可以选择当前元素之前的每个元素(与选择元素之后的所有内容的波浪号选择器相反),我基本上可以将这两个相加,并且我将拥有之前的所有内容和之后的所有内容=除当前元素之外的所有内容。不过,我不认为有一个选择器与 ~ 相反。如果我错了,请纠正我!

编辑: 因为我似乎很困惑 ^.^(抱歉):关于 adornis.de我一次只想展开一个元素,当您单击第二个元素时,其余元素应该关闭。通常 :active 无论如何都会立即关闭,但我正在延迟转换。

最佳答案

解决方案是:您可以使用伪类,只是不能将它们与真实类组合。

所以

.foo:not(.foo:active) {}

没用,但是

.foo:not(:active) {}

工作得很好:)

这并没有解决我的问题,但我想理解这一点很重要。我仍然必须混合使用类和伪类来实现我的目标。

结论:如果没有 javaScript(目前)你不能这样做

感谢 BoltClock 在对原始帖子的评论中回答了这个问题 :)

You've run into the exact same issue that somebody else did the other day: you can use pseudo-classes in :not(), but in this case you're combining both a class and a pseudo-class, which is not OK

关于css - :not pseudo class selector - css issue 伪类的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984081/

相关文章:

css - 高度:100%; float:left,有办法吗?

css - 如何让 bootstrap 的汉堡菜单出现在平板电脑上?

html - 页面内容 div 和最小高度

vb.net - 从列表中进行选择的最佳方法 - 这两个列表框是不是有点过时了?

html - 为什么把所有的标签都写成一种样式比使用通用选择器(*)更好?

css - 一次显示 3 个边的 3d 立方体

html - 如何在较小的容器中对齐较大的图像中心

css-selectors - 少CSS : nesting groups of selectors

html - CSS3 不透明度过渡问题

CSS3 隐藏过渡