2015-07-12 69 views
0

我發現this code from this,但現在我試圖將另一個div class="new"對齊,並在container div之外。我試圖使用vertical-align:top,float,display: inline-block但他們沒有工作。
我錯過了什麼?align div inline with container div

這就是我想要做的。 HTML

<div class="container"> 
    <div class="small"></div> 
    <div class="big"></div> 
</div> 
<div class="new"></div> 

CSS

.container{ 

    border: 1px black solid; 
    width: 320px; 
    height: 120px;  
    padding: 10px; 
} 

.small{ 
    display: inline-block; 
    width: 40%; 
    height: 30%; 
    border: 1px black solid; 
    background: aliceblue;  
} 

.big { 
    display: inline-block; 
    border: 1px black solid; 
    width: 40%; 
    height: 50%; 
    background: beige;  
} 
.new{ 
    display: inline-block; 
    width: 50px; 
    height: 50px; 
    background-color: gray; 
    vertical-align: top; 
} 
+0

是啊,應該是這樣的,這就是我試過,但沒有奏效 – Ringo

+0

我已經加了我的代碼 – Ringo

回答

0

您必須申請display:inline-blockvertical-align:top到兩個containernew的div。

.container { 
 
    border: 1px black solid; 
 
    width: 320px; 
 
    height: 120px; 
 
    display: inline-block; 
 
    vertical-align: top; 
 
} 
 
.small { 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    width: 40%; 
 
    height: 30%; 
 
    border: 1px black solid; 
 
    background: aliceblue; 
 
} 
 
.big { 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    border: 1px black solid; 
 
    width: 40%; 
 
    height: 50%; 
 
    background: beige; 
 
} 
 
.new { 
 
    height: 120px; 
 
    width: 80px; 
 
    border: 2px solid red; 
 
    display: inline-block; 
 
    vertical-align: top; 
 
}
<div class="container"> 
 
    <div class="small"></div> 
 
    <div class="big"></div> 
 
</div> 
 
<div class="new"> 
 
    new box 
 
</div>

+0

好吧,這應該工作,因爲我想要 – Ringo

0

.container{ 
 
    
 
    border: 1px black solid; 
 
    width: 320px; 
 
    height: 120px;  
 
    
 
} 
 

 
.small{ 
 
    display: inline-block; 
 
    width: 40%; 
 
    height: 30%; 
 
    border: 1px black solid; 
 
    background: aliceblue;  
 
} 
 

 
.big { 
 
    display: inline-block; 
 
    border: 1px black solid; 
 
    width: 40%; 
 
    height: 50%; 
 
    background: beige;  
 
} 
 

 
.new { 
 
    display: inline-block; 
 
    border: 1px black solid; 
 
    width: 10%; 
 
    height: 50%; 
 
    background: yellow;  
 
}
<div class="container"> 
 
    <div class="small"></div> 
 
    <div class="big"></div> 
 
    <div class="new"></div> 
 
</div>

我不明白你的問題。它工作正常。

+0

沒有,則'。新div'應該是外面的' .container div' – Ringo

0

一個解決方案是將容器浮動到左:

.container{ 
 
    
 
    border: 1px black solid; 
 
    width: 320px; 
 
    height: 120px;  
 
    float: left; 
 
    
 
} 
 

 
.small{ 
 
    display: inline-block; 
 
    width: 40%; 
 
    height: 30%; 
 
    border: 1px black solid; 
 
    background: aliceblue;  
 
} 
 

 
.big { 
 
    display: inline-block; 
 
    border: 1px black solid; 
 
    width: 40%; 
 
    height: 50%; 
 
    background: beige;  
 
} 
 

 
.new { 
 
    height: 120px; 
 
    width: 80px; 
 
    border: 2px solid red; 
 
    display: inline-block; 
 
}
<div class="container"> 
 
    <div class="small"></div> 
 
    <div class="big"></div> 
 
</div> 
 
<div class="new"> 
 
    new box 
 
</div>

+0

不,我更喜歡容器不要左浮動 – Ringo

+0

@Ringo - 你提到你嘗試將'display:inline-block'應用於'.container',但沒有奏效。這應該工作得很好 – vectorbooster

+0

與'display:inline-block''.container'將在左邊,我不想那樣,所以我用它'.new',但它不起作用 – Ringo