CSS高级选择器-是否可行?

CSS高级选择器-是否可行?,css,css-selectors,Css,Css Selectors,我对CSS选择器有疑问。我有下面的结构-我只能修改CSS-我没有权限修改html或JS <div class="wrapper"> <div> <div> <div class="open"> </div> </div> </div> <div> <div class="top"> </div> &l

我对CSS选择器有疑问。我有下面的结构-我只能修改CSS-我没有权限修改html或JS

 <div class="wrapper">
  <div>
    <div>
      <div class="open">

      </div>
    </div>
  </div>
  <div>
    <div class="top">

    </div>
  </div>
</div>

打开的类将被切换。在以下情况下,我是否可以进行选择:

  • 第4行中的div具有open-div,其类top=>.top{top:50px}
  • 第4行中的div没有类top=>的open-div。top{top:0px;}
  • 这是可能的吗

    试试这个:

    .wrapper div:not(.open){
        ...
    }
    
    您需要调整它以获得正确的DIV,因为这将影响到.wrapper中的所有DIV

    在您的情况下,您似乎需要:

    .wrapper > div > div > div:not(...){...}
    
    然而,这是一种糟糕的做法

    您可以在此处阅读更多内容:

    使用CSS并非不可能,如果您可以将
    open
    类添加到
    内最外层的父类中,则获取当前Top将成为可能。wrapper
    @MohammadUsman-您有权,但不幸的是,我只能编辑CSS。在这种情况下,纯CSS不可能(直到CSS设法为我们提供一个可行的父选择器)。根据定义,CSS是向下级联的,没有办法向上移动树以找到父元素的同级元素,这在这种情况下是必需的。我建议您重新考虑您的流程,您是否可以将一个类应用于
    包装器
    ,这会影响两个子类?这不是我需要的:)对不起,伙计,这是我从问题中理解的。