CSS更改元素的背景父级

时间:2010-03-24 03:16:12

标签: css

我有一些问题,我想用css

更改它
<div class="a">
  <div class="b">
    <span></span>
  </div>
  <div class="c">
   <span></span>
  </div>
  <div class="d">
   <span class="e"></span>
  </div>
</div>

我想通过使用span.e来改变div.b和div.c的背景 请帮帮我 感谢

3 个答案:

答案 0 :(得分:1)

以下答案假设您询问如何使用span.e作为选择器的一部分来更改div.bdiv.c的规则。例如:

span.e:parent:prevAll.b { background:red } // concept-code, doesn't actually work

你不能单独使用CSS,你需要使用类似jQuery(javascript)的东西来处理这个问题。使用CSS,您可以引用父母的孩子,而不是孩子的父母。或者在这种情况下,来自侄子的叔叔......

答案 1 :(得分:1)

目前,CSS无法沿着链(父对子)向上链(子到父)。你可能可以使用jQuery在这里做你想做的事情,但你应该重写HTML所以它并不困难。

答案 2 :(得分:1)

你不能用CSS做到这一点,你需要像jQuery这样的东西。由于不清楚您希望系统如何工作,因此很难准确知道建议的内容,但这应该会有所帮助:

$('.e').parents('div').eq(0).addClass('red');

你的CSS中已经有了一个类:.red { background-color: red; }(你可能想要更好地命名)。