我可以使用纯CSS基于其祖先位置属性设置元素样式吗?

时间:2017-04-27 06:16:20

标签: css css-position

是否可以根据其祖先选择一个元素' CSS属性值?我们假设我有以下HTML文字:

<div><!-- ancestor -->
  <!-- I may have N level descendants which are as well ancestors for the upcoming div -->
  <div class="myTarget">
    The div I want to target
  </div>
</div>

除了其中一个人拥有CSS属性display: table-cell然后我希望myTarget拥有position: absolute之外,我对祖先一无所知,否则它应该是position: relative {1}}。

.myTarget {
  position: relative;
}

/*************************************************************************************************
 * This is actually the question, how to target .myTarget when some ancestor div contains a given
 * cssProperty. Code below is just pseudo-code not actual CSS.
 *************************************************************************************************/
div[cssProperty=desiredValue] .myTarget {
  position: absolute;
}

我的猜测是我不能,但由于可以根据属性选择元素,我认为也许它应该是一种基于CSS属性选择的方式。

1 个答案:

答案 0 :(得分:0)

我的解决方案是一个班级:

<div class="ancestor"> <!-- ancestor -->
  <div class="myTarget">
    The div I want to target
  </div>
</div>

和css:

.myTarget {
  position: relative;
}

div.ancestor > .myTarget {
  position: absolute!important;
}