2010-02-07 19 views
14

Ich habe ein grundlegendes Layout, wo das Body-Div auf eine bestimmte Breite festgelegt ist. Und mit den Rändern links und rechts sind auf automatisch gesetzt. Resultierend daraus, dass das div zentriert ist.CSS - Absolute Positionierung oder Float?

Wenn es jetzt darum geht, alle Unterelemente in diesem div zu positionieren, ist es am besten, absolute Positionierung oder feste Koordinaten zu verwenden? Diese Unterelemente sind im Wesentlichen Textspalten, einige Bilder und einige Überschriften. Ich habe festgestellt, dass sie alle nach links schweben, sodass sie hintereinander gestapelt werden. Was ich eigentlich will. Aber wäre es besser, die Koordinaten anzugeben? Ich stieß auf einen kleinen allgemeinen Randfehler mit IE, den Sie sehen. Und ich weiß, absolute Positionierung würde es beheben. Aber wäre das eine schmutzige Angelegenheit?

Ich meine, das Layout selbst ist in gewissem Sinne liquide. Aber der Körper div hat seine Breite. Die Unterelemente werden also unabhängig von der Auflösung nicht verschoben.

Antwort

14

Hinweis: Der Rand Bug im IE kann auch "fixiert" werden, indem man das div mit einem Rand in einem div ohne Rand umschließt und dieses äußere div schwebt.

In Bezug auf absolute vs float: Ich schlage vor, Sie sehen this page, die wie eine gute Zusammenfassung scheint, und sich fragen, ob einer der Nachteile eine rote Fahne für Sie erhöhen.

Ich persönlich würde absolute Positionierung verwenden, wenn alle Inhalte der Div statisch sind, und float, wenn einige dynamisch sind. Aber das ist eine subjektive Antwort.

+1

Ok, also habe ich nicht lange nachgedacht, oder? :) Ich denke, ich werde dieses Mal bei der absoluten Positionierung bleiben. :) –

+0

Gemäß der StackOverflow-Richtlinie wäre es großartig, wenn Sie zusammenfassen könnten, was auf dem von Ihnen angegebenen Link steht – Baumr

1

Ich sehe kein Problem mit der absoluten Positionierung. Ein möglicher Nachteil wäre, dass Ihr Stylesheet etwas schwieriger zu pflegen wäre, weil Sie Breiten und Positionen angeben müssten. Wenn Sie die Breite einer Ihrer Spalten in Zukunft ändern müssten, müssten Sie den Pixelwert an 2 Stellen aktualisieren. IMO mit Float und Margin wäre in Zukunft einfacher zu modifizieren.

Verwandte Themen