2013-01-22 19 views
0

如何使一個規則,會做這樣的事情:格(如果它有內另一格)+ DIV {}

.container。單元:第一胎(如果它裏面div.box1.extra )+ .box2 {top:50px;}

<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> 

回答

0

這是不幸的,目前還不可能用CSS。你所指的是用CSS遍歷DOM。無論如何,你所能做的僅僅是聲明規則。

.container .unit:first-child .box1.extra + .box2 { top: 50px;} 

如果.box2元素不存在,一切都不會改變。對於確實有.box2的單位,該規則將適用。

編輯:請注意,這隻適用於如果.box2.unit的孩子。如果.unit.box2是兄弟姐妹,這不幸是不可能的。

+0

謝謝你,他們是兄弟姐妹 –

+0

@DanilaBelov啊,我現在看到它。我看起來沒有足夠接近標記。是否有可能將box2放置在第一個單元元素內?然後,您仍然可以應用'position:absolute'或'position:fixed'(我假設您是)並確保'.unit'是'position:static'。這很可能與「unit」的孩子完全一樣。 –

+0

我可能這樣做,它會工作......謝謝! –