とコンテンツにdiv要素の幅を調整します:How to make div not larger than its contents?は<code>display: inline-block</code>設定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>
一つにはjQueryを使ってDIVの幅を修正することができCSS when inline-block elements line-break, parent wrapper does not fit new widthに記載されています。この例ではどうしますか?
回答質問は(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に収まりません。
私は彼らの周りの単一のラインとアウトラインのすべてのボックスを取得しています。それは間違いないでしょうか? – Himanshu
@Himanshuはい、窓を小さくして改行を強制すると、画像のように隙間ができます。どうすればこれを防ぐことができますか? – Adam
ラインボックスモデルの仕組みではありません。 –