2016-06-08 86 views
0

如果我有這樣的事情如何擴展所有內嵌塊div以填充父項?

<div class="A"> 
    <div class="B"></div> 
    <div class="C"></div> 
</div> 

CSS

.B, .C { 
    display:inline-block; 
} 

對於B和C,寬度包裹它的內容,不完全填滿的寬度。但是,如果我將其寬度設置爲100%,那麼每個寬度等於A的寬度,然後將A的寬度擴展爲其原始大小的兩倍。

如何更改它,這樣,B的寬度+ C的寬度= A的原始寬度

基本上增加B的寬度和C使得其填充A的寬度,但保持內聯。

有誰知道嗎?

感謝

+3

100%除以2 = 50% - 試過嗎? –

+0

此外,這是動態的,2個孩子只是一個例子,它可以有任何數量的孩子。我也不想修復它的寬度,它應該根據內容大小進行調整。因爲如果我使用50%,那麼如果它的內容需要70%呢。 – omega

+0

我不喜歡桌子,因爲如果屏幕寬度太小,我也想讓它們包裹。 – omega

回答

2

最好的用例因爲這將是使用Flexbox,你說他們是動態的:

.A {border: 1px solid #99f;} 
 
.A div {border: 1px solid #999; height: 10px;} 
 

 
/* Flex Box */ 
 
.A {display: flex;} 
 
.A div {flex: auto;}
Two: 
 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
</div> 
 

 
Three: 
 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
</div> 
 

 
Random: 
 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
</div>

+0

如果內部div有內容,那麼如果屏幕寬度變得太小,做div打包?我不希望他們全部留在1行導致溢出。 – omega

+0

@omega你可以使用'@ media'查詢來設置它們......':)' –

+0

我在jsfiddle https://jsfiddle.net/smp1krk8/中試過它,如果寬度變得太小,那麼它們不會打包只是溢出。 – omega

0

請注意,這並不像優雅普拉文庫馬爾的答案,但我想我會張貼一個基於表的答案:

.A { 
 
    display: table; 
 
    height: 50px; 
 
    width: 100%; 
 
    border: 2px solid #000; 
 
} 
 
.A > div { 
 
    display: table-cell; 
 
    border: 1px solid #fff; 
 
    background-color: red; 
 
}
Example 1: 
 

 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
</div> 
 

 
Example 2: 
 

 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
</div> 
 

 
Example 3: 
 

 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
</div> 
 

 
Example 4: 
 

 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
</div> 
 

 
Example 5: 
 

 
<div class="A"> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
    <div class="B"></div> 
 
    <div class="C"></div> 
 
    <div class="D"></div> 
 
    <div class="E"></div> 
 
    <div class="F"></div> 
 
    <div class="G"></div> 
 
</div>

同樣,孩子的量是無關緊要的。你可以有多少你需要的。

+0

這給出了和我一樣的輸出,但是我們還有另一個需要關注的大問題。檢查我的答案的評論... –

+0

@PraveenKumar啊,我會看看,看看我是否可以修改我的答案。 –

+0

你可以做的事情不多。但是,看看評論。這看起來像是一個嚴重的問題。 –

相關問題