2016-04-19 206 views
0
內容

設置display: inline-block應使周圍的div比其含量不大於:How to make div not larger than its contents?調整DIV寬度與JS

然而,當行時間包括它不工作(jFiddle)):

<style> 
.container{ 
    border: solid; 
    display: inline-block 
} 

.box{ 
    background-color: #08c; 
    width: 50px; 
    height: 50px; 
    margin: 20px; 
    display: inline-block; 
} 
</style> 

<div class='container'> 
<div class='box'></div> 
<div class='box'></div> 
<div class='box'></div> 
<div class='box'></div> 
<div class='box'></div> 
<div class='box'></div> 
</div> 

enter image description here

CSS when inline-block elements line-break, parent wrapper does not fit new width中聲明可以用jQuery修正DIV的寬度。你如何做這個例子?

回答的問題被標記爲重複,所以我不能給出答案,但是這個工作對我來說(jFiddle):

<style> 
.container{ 
    border: solid; 
    display: inline-block; 
} 

.box{ 
    background-color: #08c; 
    width: 50px; 
    height: 50px; 
    margin: 20px; 
    display: inline-block; 
} 
</style> 

<script> 
function adjust(){ 
// reset container width 
$('.container').width(''); 
var x = $('.container').width(); 

    // size of box is 90px (50+20+20), so set width to the minimal width which // is dividible by 90px 
    x= x - (x % 90); 
    $('.container').width(x); 
} 

$(document).ready(function(){ 

adjust(); 

$(window).resize(adjust); 
}); 
</script> 


<div class='container'> 
<div class='box'></div><!-- 
--><div class='box'></div><!-- 
--><div class='box'></div><!-- 
--><div class='box'></div><!-- 
--><div class='box'></div><!-- 
--><div class='box'></div> 
</div> 

此外,由於箱子是內聯元素,我需要刪除空格,否則他們不適合div。

enter image description here

+0

我得到所有的箱子在單行和他們周圍的輪廓。這是預期的嗎? – Himanshu

+0

@Himanshu是的,但是如果你縮小你的窗口並強制換行,你會得到和我的圖像一樣的差距。我怎樣才能防止這一點? – Adam

+0

你不能......那不是線框模型的工作方式。 –

回答

0

添加最小寬度:566px您的容器:

Add min-width

+0

更改窗口大小可能再次導致差距。另外我想得到一個解決方案,如果我改變框元素的寬度。 – Adam