私は次のようなパターンを持っています。最初と2番目のchildDivクラスのcss変更を親divの50%に適用する方法
子 div に 50%、50% を設定するにはどうすればよいですか?
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div>
<div class="childDiv"> // 50% width
</div>
</div>
私は次のようなパターンを持っています。最初と2番目のchildDivクラスのcss変更を親divの50%に適用する方法
子 div に 50%、50% を設定するにはどうすればよいですか?
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div>
<div class="childDiv"> // 50% width
</div>
</div>
.childDiv{
display:inline-block;
width:50%;
}
重要な注意事項:
display:inline-block;
box-sizing
。境界線を省略してください(説明のみを目的としています)。ここにはちょっとしたトリックがあり、それを知っておく必要があります。最初の div の終了と 2 番目の div の開始の間に空白を入れると、ブラウザーに表示されるスペースのため、50% は機能しません。
これを行うにはいくつかの方法があります。最新のブラウザー (IE9+、FF、Chrome、Safari) のみをターゲットにしている場合は、次を使用できますinline-block
。
<style>
.childDiv {
display: inline-block;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
</div>
ただし、IE7 は をサポートしていないためinline-block
、フロートを使用して「昔ながらの」方法に進むことができます。
<style>
.childDiv {
float: left;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
<div style="clear: both"></div>
</div>
両方の列の幅を正確に同じにして、その間に小さなギャップを残したい場合は、異なるスタイルのフロートを使用してください。この方法では、使用する幅が 50% 未満である限り、div 間のマークアップで空白を削除する必要はありません。
<style>
.childDiv {
width: 49.5%;
}
.left { float: left; }
.right{ float: right; }
</style>
<div class="parentDiv">
<div class="childDiv left"> // 49.5% width
</div>
<div class="childDiv right"> // 49.5% width
</div>
<div style="clear: both"></div>
</div>
親の幅を最初に設定します。
.parentDiv
{
width: //insert width of the parentDIV
}
その後、childDiv の幅を設定します。