悬停影响不是兄弟姐妹的元素

时间:2015-09-23 16:20:18

标签: javascript html css

以下情况:
我在容器内有三个div。如果我徘徊其中一个div,另外两个应该改变它们的外观。
这是一个显示我目前情况的小提琴:
http://jsfiddle.net/SUBHUMAN/gb63t8sb/
正如您所看到的,它只会影响DOM中悬停元素之后出现的元素。

有没有办法在不使用JavaScript的情况下实现所需行为?

HTML:

@property (nonatomic) bool workaroundIOS9Bug;

- (void)viewDidLoad {
  self.workaroundIOS9Bug = [[UIDevice currentDevice].systemVersion floatValue] >= 9.0;
}


-(void)viewDidLayoutSubviews {
  if (self.workaroundIOS9Bug) {
    self.textView.contentOffset = CGPointZero;
    self.workaroundIOS9Bug = false;
  }
}


CSS:

<div id="container">

    <div id="one">
    </div>

    <div id="two">
    </div>

    <div id="three">
    </div>
</div>

1 个答案:

答案 0 :(得分:6)

问题是目前CSS不支持以前的兄弟选择器,因此您使用general sibling selector~)的尝试只会选择 next < / em>悬停元素的兄弟姐妹。

但是,您可以使用以下方法模拟行为:

#container:hover > :not(:hover) {
    background-color: blue;
}

DEMO: http://jsfiddle.net/gb63t8sb/4/