Ich habe versucht, ein Div mithilfe von CSS in zwei Spalten aufzuteilen, aber ich habe es noch nicht geschafft, es zum Laufen zu bringen. Meine Grundstruktur ist wie folgt:
<div id="content">
<div id="left">
<div id="object1"></div>
<div id="object2"></div>
</div>
<div id="right">
<div id="object3"></div>
<div id="object4"></div>
</div>
</div>
Wenn ich versuche, die rechten und linken Divs an ihre jeweiligen Positionen (rechts und links) zu verschieben, scheint dies die Hintergrundfarbe des Inhaltsdivs zu ignorieren. Und anderer Code, den ich von verschiedenen Websites ausprobiert habe, scheint nicht in meine Struktur zu übersetzen.
Vielen Dank für jede Hilfe!
Antworten:
Wenn Sie diese beiden Divs schweben lassen, wird das Content-Div auf die Höhe Null reduziert. Einfach hinzufügen
nach dem #right div aber innerhalb des Inhalts div. Dadurch wird das Inhalts-Div gezwungen, die beiden internen, schwebenden Divs zu umgeben.
quelle
Das funktioniert gut für mich. Ich habe den Bildschirm in zwei Hälften geteilt: 20% und 80%:
quelle
Eine andere Möglichkeit, dies zu tun, besteht darin
overflow:hidden;
, dem übergeordneten Element der schwebenden Elemente etwas hinzuzufügen .Überlauf: Durch Ausblenden wächst das Element, um in schwebende Elemente zu passen.
Auf diese Weise kann alles in CSS erfolgen, anstatt ein weiteres HTML-Element hinzuzufügen.
quelle
overflow:auto;
kann manchmal eine bessere Option seinDer flexibelste Weg, dies zu tun:
Dies entspricht genau dem Anhängen des Elements an #content:
aber ohne tatsächlich ein Element hinzuzufügen. :: after heißt Pseudoelement. Der einzige Grund, warum dies besser ist als das Hinzufügen
overflow:hidden;
zu #content, ist, dass Sie absolut positionierte untergeordnete Elemente überlaufen lassen und trotzdem sichtbar sein können. Außerdem können Kastenschatten weiterhin sichtbar sein.quelle
#content:after
(nur ein Doppelpunkt statt zwei) ... Wenn ich mich richtig erinnere, ist es besser, zwei Doppelpunkte für Pseudoelemente zu verwenden, aber ältere IEs erkennen ihn nur, wenn er einen hat. ... oder so ähnlich - es ist schon einige Zeit her, dass ich mich mit diesem Thema befasst habe.Keine der Antworten beantwortet die ursprüngliche Frage.
Die Frage ist, wie man ein Div mit CSS in zwei Spalten aufteilt.
Alle obigen Antworten binden tatsächlich 2 Divs in ein einzelnes Div ein, um 2 Spalten zu simulieren. Dies ist eine schlechte Idee, da Sie Inhalte nicht dynamisch in die beiden Spalten fließen lassen können.
Verwenden Sie also anstelle des oben genannten ein einzelnes div, das mit CSS wie folgt 2 Spalten enthält ...
Weisen Sie das Ob als Klasse einem Div zu, und es wird tatsächlich seinen Inhalt in die 2 Spalten fließen lassen. Sie können auch weiter gehen und Lücken zwischen den Rändern definieren. Abhängig vom Inhalt des div müssen Sie möglicherweise mit den Wortumbruchwerten herumspielen, damit Ihr Inhalt nicht zwischen den Spalten aufgeteilt wird.
quelle
Aus welchem Grund auch immer ich die Clearing-Ansätze nie gemocht habe, ich verlasse mich für solche Dinge auf Floats und prozentuale Breiten.
Hier ist etwas, das in einfachen Fällen funktioniert:
Wenn Sie Inhalte einfügen, werden Sie feststellen, dass dies funktioniert:
Sie können es hier sehen: http://cssdesk.com/d64uy
quelle
Machen Sie Kinder Divs
inline-block
und sie werden nebeneinander positionieren:Siehe Demo
quelle
Ich weiß, dass dieser Beitrag alt ist, aber wenn jemand von euch noch nach einer einfacheren Lösung sucht.
quelle
Der beste Weg, um ein Div vertikal zu teilen -
quelle
Sie können Flexbox verwenden , um das Layout Ihres div-Elements zu steuern:
quelle
Schwimmer beeinflussen den Durchfluss nicht. Was ich dazu neige, ist a hinzuzufügen
am Ende des 'Wrapping Div' (in diesem Fall Inhalt). Ich kann dies semantisch begründen, indem ich sage, dass ein solcher Absatz erforderlich sein könnte. Ein anderer Ansatz ist die Verwendung eines Clearfix-CSS:
Der Trick mit den Kommentaren besteht in der Cross-Browser-Kompatibilität.
quelle
Dies wird am besten hier beantwortet Frage 211383
Heutzutage sollte jede Person mit Selbstachtung den angegebenen "Micro-Clearfix" -Ansatz zum Löschen von Schwimmern verwenden.
quelle
Legen Sie die Breite% für jeden untergeordneten DIV fest.
* In Safari müssen Sie möglicherweise 49% festlegen, damit es funktioniert.
quelle
Das Teilen einer Unterteilung in zwei Spalten ist sehr einfach. Geben Sie einfach die Breite Ihrer Spalte besser an, wenn Sie diese eingeben (z. B. Breite: 50%) und setzen Sie den Gleitkommawert: links für die linke Spalte und den Gleitkommawert: rechts für die rechte Spalte.
quelle
#column { overflow:auto; width: 100%; } #column50pleft, #column50pright{ width: 49%; margin:2px; padding: 0.5%; background: white; } #column50pleft { float:left; } #column50pright { float:right; } HTML: <div id="column"> <div id="column50pleft"> </div> <div id="column50pright"> </div> </div>