2014-12-19 93 views
0

該場景的大綱是,我有divsome-class類,它將有1或2個孩子div s。每當它有1我希望該子div(div.some-class > div)有width: 100%;,但每當它有2我希望他們(div.some-class > div:nth-of-type(1), div.some-class > div:nth-of-type(2))具有各自的寬度60%40%。我無法修改HTML,因爲它是由內容管理系統生成的。有沒有可能只用CSS做到這一點,沒有JavaScript?

有沒有CSS黑客可以給我這種行爲?

+0

不,你在這裏處理動態行爲。最好的辦法是在CSS中創建單獨的規則,並簡單地通過JavaScript應用它們。 – beautifulcoder

+1

@beautifulcoder動態行爲不需要javascript;響應式設計通常通過CSS來完成。 – admdrew

回答

3

當然,請使用display: tableadjacent sibling selector

body > div { 
 
    display: table; 
 
    width: 600px; 
 
} 
 

 
div > div { 
 
    background: blue; 
 
    height: 100px; 
 
    display: table-cell; 
 
} 
 

 
div > div + div { 
 
    background: red; 
 
    width: 40%; 
 
}
<div> 
 
    <div></div> 
 
</div> 
 

 
<hr> 
 

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

相關問題