完全な高さではなく、2つのネストされたDivの間に垂直分割線を挿入する
質問
私は左に浮かんで右に浮かんでいます <div>
下の画像に示すように、ライトブルーボックスDiv内にネストされています。この画像に示すように、それらの間に垂直線を挿入する方法を理解できません。
次のプロパティがあります。
1)どちらかの側のパディング/マージンをコントロールまたは合理的に見えることができます(つまり、1つのdivにそれほど近くではありません)
2)示されているように、上下にマージンを残します。つまり、ライトブルーdivの完全な垂直幅を延長しません
3)ブラウザウィンドウが大きくなり、より小さくなり、ブルーボックスサイズが増加/減少するにつれて、#1と#2を動的に維持します
シンプルで、できればCSSのみのソリューションを探しています。
関連するCSS:
#left {
position: relative;
float: left;
width: 44%;
margin: 0;
padding: 0;
}
#right {
position: relative;
float: right;
width: 49%;
margin: 0;
padding: 0;
}
#blue_box {
position: relative;
width: 45%;
min-width: 400px;
max-width: 600px;
padding: 2%;
margin-left: 40%;
overflow: auto; /*needed so that div stretches with child divs*/
}
解決
仕切りにはdivを使用します。左と右のdivの高さが等しいかどうかに関係なく、常に垂直に中央に配置されます。サイトのどこにでも再利用できます。
.divider{
position:absolute;
left:50%;
top:10%;
bottom:10%;
border-left:1px solid white;
}
で作業例を確認してください http://jsfiddle.net/gtkbs/
他のヒント
これを試して。青い箱を右に浮かぶように設定し、左右に固定された高さを与え、左divの右側に白い境界線を追加しました。また、丸い角を追加して、例に合わせてさらに一致します(これらはIE 8以下では機能しません)。私もそのポジションを取り出しました:相対。あなたはそれを必要としません。ブロックレベル要素は、デフォルトで相対的な位置に設定されます。
ここでそれを参照してください: http://jsfiddle.net/zsglj/
#left {
float: left;
width: 44%;
margin: 0;
padding: 0;
border-right: 1px solid white;
height:400px;
}
#right {
position: relative;
float: right;
width: 49%;
margin: 0;
padding: 0;
height:400px;
}
#blue_box {
background-color:blue;
border-radius: 10px;
-moz-border-radius:10px;
-webkit-border-radius: 10px;
width: 45%;
min-width: 400px;
max-width: 600px;
padding: 2%;
float: right;
}
CSSソリューションのみを考えることはできませんが、それらの2の間にdivを持っていて、画像に表示されているような線のように見えるプロパティをCSSに設定することはできませんでしたか? Table CellsのようにDivを使用している場合、これは問題に対する非常に簡単な解決策です