2010-07-31 4 views
5

Ich schwebe eine Sidebar auf der linken Seite des Hauptinhaltsfeldes. Dann habe ich eine Reihe von Feldern, die schweben und gelöscht werden, um eine Art Gitter zu erzeugen (es ist eine "Mein Konto" -Seite, mit verschiedenen Feldern, die Dinge wie Aufträge enthalten, Details bearbeiten usw.). Das Problem ist, dass die Boxen innerhalb des Inhalts-Div gegen die Sidebar räumen, im Gegensatz zu nur den anderen Boxen in diesem Div. Es gibt einen Link auf ein Bild unten, wenn diese Erklärung war verwirrend:CSS In Float-basierten Spalten löschen?

enter image description here

Hat jemand über diese kommen vor, und wenn ja, wissen Sie, ein Update für das? Ich gehe wahrscheinlich in die falsche Richtung, aber ich habe CSS fast ausschließlich aus Versuch und Irrtum gelernt, so dass mein Wissen über die Theorie davon höchstwahrscheinlich mangelhaft ist.

+0

Können Sie bitte eine Demo mit jsfiddle.net veröffentlichen? –

+0

Ich werde versuchen, später einen Beispielcode zu bekommen. Für den Augenblick war eine einfache, wenn nicht sehr elegante Lösung, ein zweites div in das content-div einzufügen, mit einem float: left-Attribut darauf. – Jim

Antwort

3

Wenn das Inhaltsfenster nicht schwebt, werden alle Elemente im Inneren den Seitenleistenschwimmer löschen. Eine einfache Lösung wäre das Floaten des Inhaltsbereichs. Da Sie html/css nicht veröffentlicht haben, ist es jedoch schwierig, das Problem wirklich zu sehen und Vorschläge zu machen, wenn Sie das Inhaltsfenster nicht verschieben möchten.

Before

After

+0

Die Inhaltsanzeige scheint die Lösung zu sein, nach der ich suche. Dies führt jedoch zu einer Verzerrung des Layouts und zwingt das Inhaltsfeld unter die Navigationsbox. Das ist ein anderes Problem, also werde ich deine Antwort akzeptieren :) – Jim

+0

Es würde helfen, das vollständige Layout in einer zukünftigen Frage zu sehen, wenn es dir nichts ausmacht, also können wir uns das alles ansehen. –

0

Ich glaube, Sie selektiv die Schwimmer wollen würde auf der einen Seite löschen, wie clear: right; oder clear: left;

Ich habe nicht in diesem Thema laufen aber so bin ich nicht sicher.

-2

Sie könnten versuchen, Anzeige: Inline-Block. Aber es ist ein neues Feature, das nicht gut unterstützt wird. CSS ist ein Hund, ich ändere einfach meine Designs, um mit dem zu tun, was es kann.

https://learn.shayhowe.com/html-css/positioning-content/

Oder verwenden Sie nur Tabellen. Tabellen funktionieren einfach.

+0

Alle Browser unterstützen "Inline-Block" einschließlich IE zurück zu Version 8. Aber diese Frage ist siebeneinhalb Jahre alt einschließlich der angenommenen Antwort, so dass ich nicht weiß, warum Sie geantwortet haben. – Rob