Zentriere einen von zwei Geschwister-Divs

8

Im Folgenden möchte ich das CSS so ändern, dass right-sibling wirklich im container div zentriert ist. (Bearbeiten: ohne absolute Positionierung).

%Vor%

In der aktuellen Implementierung wird die Zentrierung des rechten Geschwisters vom linken Geschwister beeinflusst - Sie können dies sehen, indem Sie display: none zum Stil left-sibling hinzufügen.

(Hinweis: Ich möchte vermeiden, die HTML-Struktur zu ändern, weil, wie ich es verstehe, der ganze Sinn von CSS darin besteht, die Tag-Struktur von der Präsentationslogik zu entkoppeln, und dies scheint keine wirklich verrückte Anfrage zu sein für CSS zu handhaben.)

TIA.

    
cdleary 05.12.2008, 09:15
quelle

5 Antworten

6

Ein Trick, den ich gerade benutzt habe, ist das Auffüllen der linken Seite des Containers, und wir können die linke Schwester dazu ermutigen, innerhalb dieses Raumes zu sitzen, indem wir ihr einen gleichen, aber negativen Rand geben.

Um das Bild zu vervollständigen, setzen wir auch auf der rechten Seite des Containers eine Füllung gleicher Größe auf die Breite des linken Geschwisters.

%Vor%     
rohancragg 05.12.2008, 11:38
quelle
2

Versuchen Sie, eine Breite für das linke Geschwister und ein gleiches Padding-Recht: für das rechte Geschwister

festzulegen

wie so

%Vor%     
adam 05.12.2008 09:59
quelle
1

Sie können float: left; in #left-sibling in position: absolute; ändern. Dies wird es aus dem normalen Fluss herausnehmen, so dass es keine rechten Geschwister mehr betrifft.

Natürlich könnte dies andere Nebenwirkungen mit Ihrem Design haben.

    
Greg 05.12.2008 09:20
quelle
1

Sie sollten immer eine Breite auf floated Elemente setzen, sonst werden die Dinge komisch:)

Wenn Sie ein

setzen %Vor%

Regel auf beiden divs Sie sehen, was passiert - die # rechts Geschwister div füllt die gesamte Breite des Elternteils div (#container), also obwohl der Text ist tatsächlich an der Mitte ausgerichtet Es sieht so aus als wäre es nicht!

    
Mark Bell 05.12.2008 09:27
quelle
1

Das Attribut text-align steuert die Ausrichtung der Inhalte in dem Container, in dem das Attribut angewendet wird. Durch Hinzufügen der folgenden Stile ist es einfach zu sehen:

%Vor%

Ich würde vorschlagen, dem Dokument einen Doctype hinzuzufügen, um den quirksmode zu vermeiden

%Vor%

und die folgenden Stile:

%Vor%

Sie möchten natürlich die Größe der Geschwister an Ihre Bedürfnisse anpassen. Die Grenzen machen einen netten Job und zeigen, was wirklich passiert.

    
MadViking 05.12.2008 09:38
quelle

Tags und Links