Html div(如果内部有另一个div)和#x2B;div{}
如何制定一条规则来实现以下功能: .container.unit:first child(如果它内部有div.box1.extra)+.box2{top:50px;}Html div(如果内部有另一个div)和#x2B;div{},html,css,Html,Css,如何制定一条规则来实现以下功能: .container.unit:first child(如果它内部有div.box1.extra)+.box2{top:50px;} <div class="container"> <div class="unit"> <div class="box1 extra"><!-- content --></div> </div> <div class="u
<div class="container">
<div class="unit">
<div class="box1 extra"><!-- content --></div>
</div>
<div class="unit">
<div class="box1"><!-- content --></div>
</div>
<div class="box2"><!-- content --></div>
</div>
不幸的是,目前CSS无法实现这一点。您所指的是使用CSS进行DOM遍历。您可以做的只是简单地声明规则
.container .unit:first-child .box1.extra + .box2 { top: 50px;}
如果.box2
元素不存在,则不会更改任何内容。对于具有.box2
的单元,将应用该规则
编辑:请注意,仅当
.box2
是.unit
的子项时,此选项才有效。如果.unit
和.box2
是兄弟姐妹,很不幸,这是不可能的。@DanilaBelov啊,我现在明白了。我没有仔细看标记。是否可以将box2放置在第一个单元元件的内部?然后,您仍然可以应用位置:绝对
或位置:固定
(我假设您是),并确保。单元
是位置:静态
。这很可能与它是单元
的子项完全相同。