Ich verwende CSS-Stil Text-Align, um Inhalte in einem Container in HTML auszurichten. Dies funktioniert einwandfrei, wenn der Inhalt Text oder der Browser IE ist. Aber sonst funktioniert es nicht.
Wie der Name schon sagt, wird es im Wesentlichen zum Ausrichten von Text verwendet. Die Align-Eigenschaft ist längst veraltet.
Gibt es eine andere Möglichkeit, Inhalte in HTML auszurichten?
html
css
text-align
Hemanshu Bhojak
quelle
quelle
Antworten:
Textausrichtung richtet Text und anderen Inline-Inhalt aus. Blockelementkinder werden nicht ausgerichtet.
Dazu möchten Sie dem Element, das ausgerichtet werden soll, eine Breite mit dem linken und rechten Rand 'auto' geben. Dies ist die standardkonforme Methode, die überall außer in IE5.x funktioniert.
Damit dies in IE6 funktioniert, müssen Sie sicherstellen, dass der Standardmodus aktiviert ist, indem Sie einen geeigneten DOCTYPE verwenden.
Wenn Sie den IE5 / Quirks-Modus wirklich unterstützen müssen, was Sie heutzutage eigentlich nicht sollten, können Sie die beiden verschiedenen Ansätze zur Zentrierung kombinieren:
(Natürlich lassen sich Stile am besten in ein Stylesheet einfügen, aber die Inline-Version dient nur zur Veranschaulichung.)
quelle
Sie können es auch so machen:
HTML
CSS
Wie auch Artem Russakovskii erwähnte, lesen Sie den Originalartikel von Mattew James Taylor für eine vollständige Beschreibung.
quelle
quelle
Ehrlich gesagt, ich hasse alle Lösungen, die ich bisher gesehen habe, und ich sage Ihnen warum: Sie scheinen es einfach nie richtig auszurichten ... also hier ist, was ich normalerweise mache:
Ich weiß, welche Pixelwerte jedes Div und ihre jeweiligen Ränder haben ... also mache ich Folgendes.
Ich werde ein Wrapper-Div erstellen, das eine absolute Position und einen linken Wert von 50% hat ... also beginnt dieses Div jetzt in der Mitte des Bildschirms und subtrahiere dann die Hälfte des gesamten Inhalts der Div-Breite ... und ich bekomme SCHÖN skalierte Inhalte ... und ich denke, das funktioniert auch in allen Browsern. Probieren Sie es selbst aus (in diesem Beispiel wird davon ausgegangen, dass der gesamte Inhalt Ihrer Website in ein div-Tag eingeschlossen ist, das diese Wrapper-Klasse verwendet, und dass der gesamte Inhalt 200px breit ist):
BEARBEITEN: Ich habe vergessen hinzuzufügen ... Sie können auch die Breite einstellen: 0px; In diesem Wrapper-Div werden für einige Browser die Bildlaufleisten nicht angezeigt. Anschließend können Sie die absolute Positionierung für alle inneren Divs verwenden.
Dies funktioniert auch ERSTAUNLICH, um Ihren Inhalt vertikal auszurichten, wobei top: 50% und margin-top verwendet werden. Prost!
quelle
Hier ist eine Technik, die ich verwende und die gut funktioniert hat:
quelle
Nachfolgend sind die Methoden aufgeführt, die für mich immer funktioniert haben
Stellen Sie die Anzeige des übergeordneten Div auf ein
display: flex;
und Sie können die untergeordneten Elemente innerhalb des Div mitjustify-content: center;
(zum Ausrichten der Elemente auf der Hauptachse) undalign-items: center;
(zum Ausrichten der Elemente auf der Querachse) ausrichten.Wenn Sie mehr als ein untergeordnetes Element haben und die Anordnung steuern möchten (Spalte / Zeilen), können Sie auch eine
flex-direction
Eigenschaft hinzufügen .Arbeitsbeispiel:
2. (ältere Methode) Verwenden von Position, Randeigenschaften und fester Größe
Arbeitsbeispiel:
quelle
Alle Antworten sprechen von horizontaler Ausrichtung.
Sehen Sie sich zum vertikalen Ausrichten mehrerer Inhaltselemente diesen Ansatz an:
quelle
Nur ein weiteres Beispiel mit HTML und CSS:
quelle