幅が 50% の 2 つのインライン ブロック div があります。両方とも、幅が 140px のボタンが 2 つあります。
私の期待は、要素の幅が両方とも等しいため、同時にサイズも変更する必要があるということでした。ここで何が起こるかというと、含まれている div が十分に小さくなり、4 つのボタンが収まらなくなり、2 つの div がサイズ変更されますが、それらが均等にサイズ変更される前に、1 つの div が小さくなります。jsfiddle で最もよく説明されています。ブラウザー ウィンドウのサイズをゆっくりと変更すると、一方の div が他方よりも先にサイズ変更されます。
http://jsfiddle.net/dominicm/pcYhL/2/
HTML の空白はコメントで削除され、マージンとパディングはすべて 0 に設定されます。
何が原因で、どのように修正すればよいでしょうか? jsfiddle に示されているレイアウトを実現する方法に関する他の提案はありますか?
jsfiddle が後で利用できない場合の参照用のコードを次に示します。
HTML:
<div class="menu">
<div id="d">
<input class="delete" type="submit" value="Delete Selected"><input class="collapse" type="button" value="Collapse All">
</div><!--
--><div id="p">
<input class="expand" name="expand" type="button" value="Expand All">
<input class="update" type="submit" value="Update Selected">
</div>
</div>
CSS:
.menu{
width:100%;
height:80px;
border-radius:7px;
background-color:#666;
text-align:center;
margin:0;
padding:0;
}
#d{
width:50%;
display:inline-block;
background-color:red;
margin:0;
padding:0;
}
#p{
width:50%;
display:inline-block;
background-color:green;
margin:0;
padding:0;
}
.delete{
margin:0;
padding:0;
width:140px;
}
.update{
margin:0;
padding:0;
width:140px;
}
.collapse{
margin:0;
padding:0;
width:140px;
}
.expand{
margin:0;
padding:0;
width:140px;
}