Ich habe links und rechts schweben <div>
in ein hellblaues Kästchen geschachtelt, wie in der folgenden Abbildung dargestellt. Ich kann nicht herausfinden, wie eine vertikale Linie zwischen ihnen eingefügt wird, wie in diesem Bild gezeigt:
Das hat folgende Eigenschaften:
1) Polsterung/Rand auf jeder Seite, die ich kontrollieren kann oder die vernünftig aussieht (d. H. Nicht viel näher an einer Div als an der anderen)
2) Lässt einen Rand darüber und darunter, wie gezeigt, d. H. Erstreckt sich nicht über die gesamte vertikale Breite des hellblauen Bereichs
3) Behält # 1 und # 2 dynamisch bei, wenn das Browserfenster größer/kleiner wird und die Größe des blauen Kastens mit ihm zunimmt/abnimmt
Ich suche eine einfache, vorzugsweise nur CSS-Lösung.
Relevantes 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*/
}
Verwenden Sie ein Div für Ihren Divider. Es wird immer vertikal zentriert, unabhängig davon, ob der linke und der rechte Teil der Höhe gleich sind. Sie können es überall auf Ihrer Site wiederverwenden.
.divider{
position:absolute;
left:50%;
top:10%;
bottom:10%;
border-left:1px solid white;
}
Versuche dies. Ich habe die blaue Box so eingestellt, dass sie nach rechts schwimmt, links und rechts eine feste Höhe zugewiesen und rechts vom linken div einen weißen Rand hinzugefügt. Es wurden auch abgerundete Ecken hinzugefügt, um Ihrem Beispiel besser zu entsprechen (dies funktioniert nicht in 8 oder weniger). Ich habe auch die Position rausgenommen: relativ. Du brauchst es nicht. Blockebenenelemente werden standardmäßig relativ positioniert.
Sehen Sie es hier: 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;
}
Sie können sich keine einzige CSS-Lösung vorstellen, aber konnten Sie nicht einfach einen Div zwischen diesen 2 erstellen und die Eigenschaften im CSS so einstellen, dass sie wie eine Linie aussehen, wie sie im Bild dargestellt ist? Wenn Sie Divs als Tabellenzellen verwenden, ist dies eine ziemlich einfache Lösung für das Problem