Um ein HTML-Element zu zentrieren, kann ich das CSS verwenden left: 50%;
. Dies zentriert das Element jedoch in Bezug auf das gesamte Fenster.
Ich habe ein Element, das ein Kind eines <div>
Elements ist, und ich möchte das Kind in Bezug auf dieses Elternteil zentrieren <div>
, nicht auf das gesamte Fenster.
Ich will nicht der Behälter <div>
haben , alle , das Kind eine bestimmte gerade zentriert sein Inhalt.
text-align
scheint an einem<i>
Element nicht zu funktionieren . Es eine Klasse zu geben tut ..display: table-cell
oderflexbox
dafür verwenden. Schauen Sie sich den Link an, den ich hinzugefügt habe.Tatsächlich ist dies mit CSS3- Flexboxen sehr einfach .
AKTUALISIEREN:
Es scheint, dass ich die OP-Bearbeitung zum Zeitpunkt des Schreibens dieser Antwort nicht gelesen habe. Der obige Code zentriert alle inneren Elemente (ohne sich zu überlappen), aber das OP möchte, dass nur ein bestimmtes Element zentriert wird , nicht die anderen inneren Elemente. Die zweite Methode von @Warface Answer ist also geeigneter, erfordert jedoch immer noch eine vertikale Zentrierung:
quelle
CSS
HTML
Dies sollte das div zentrieren
2016 - HTML5 + CSS3-Methode
CSS
HTML
Fiddledlidle
https://jsfiddle.net/1z7m83dx/
quelle
text-align:center;
auf dem Elternteil div Sollte den Trick machenquelle
So zentrieren Sie nur das bestimmte Kind:
ODER Sie können auch Flex verwenden, aber das würde alle Kinder zentrieren
quelle
Sie können den Namen der Bootstrap-Flex-Klasse folgendermaßen verwenden:
Das funktioniert auch mit einer Anzahl von Elementen im Inneren.
quelle
Ist das div eine feste Breite oder eine flüssige Breite? In beiden Fällen können Sie für die Flüssigkeitsbreite Folgendes verwenden:
Oder Sie können das übergeordnete div auf
text-align:center;
und das untergeordnete div auf setzentext-align:left;
.Und
left:50%;
zentriert es nur entsprechend der gesamten Seite, wenn das div auf eingestellt istposition:absolute;
. Wenn Sie das Div darauf setzenleft:50%;
, sollte dies relativ zur Breite des übergeordneten Div erfolgen. Führen Sie für eine feste Breite Folgendes aus:quelle
Gib einfach dem Elternteil div
position: relative
quelle
Wenn Sie CSS3 verwenden möchten:
Möglicherweise möchten Sie weitere Suchvorgänge durchführen, um herauszufinden, wie der Prozentsatz an die Breite Ihres Elements angepasst werden kann.
quelle
Zunächst können Sie dies mit left tun: 50%, um es relativ zum übergeordneten div zu zentrieren, aber dafür müssen Sie die CSS-Positionierung lernen.
Eine mögliche Lösung von vielen ist, so etwas zu tun
Wenn Ihr zu zentrierendes Div relativ positioniert ist, können Sie dies einfach tun
quelle
text-align:center;
links: 50% arbeiten resektiv zum nächsten übergeordneten Element mit zugewiesener statischer Breite. Versuchen Sie Breite: 500px oder etwas auf übergeordnetem div. Alternativ können Sie den Inhalt, den Sie zum Zentrieren der Anzeige benötigen, blockieren: Blockieren und den linken und rechten Rand auf Auto setzen.
quelle
Wenn das Kind Element Inline ist (zB kein
div
,table
etc.) würde ich es in ein einpackendiv
oder einp
und machen die Wrapper - Text align CSS - Eigenschaft gleich zum Zentrum.Wenn das Element ein Block (
display: block
z. B. adiv
oder ap
) mit einer festen Breite ist, würde ich die CSS-Eigenschaften für den linken und rechten Rand auf auto setzen.Sie können
text-align: center
dem Wrapper-Element natürlich auch ein hinzufügen , um dessen Inhalt ebenfalls zu zentrieren.Ich werde mich nicht um die Positionierung kümmern, da es meiner Meinung nach nicht der richtige Weg ist, um das OP-Problem zu lösen, aber sehen Sie sich diesen Link unbedingt an, sehr hilfreich.
quelle
Erstellen Sie ein neues div-Element, damit Ihr Element zentriert werden kann, und fügen Sie dann eine Klasse hinzu, die speziell für das Zentrieren dieses Elements wie dieses vorgesehen ist
Css
quelle
Ich habe eine andere Lösung gefunden
und im Körper
Dadurch wird Ihr Inhaltsbereich immer dann zentriert, wenn Ihr Container größer oder kleiner ist. In diesem Fall sollte Ihr Inhalt größer als 1100% des Containers sein, um nicht zentriert zu werden. In diesem Fall können Sie mit containerSecond größer machen, und es wird funktionieren
quelle
Weisen Sie
text-align: center;
auf die Eltern unddisplay: inline-block;
an die div.quelle
Zum Beispiel habe ich ein Artikel-Div, das sich in einem Hauptinhalts-Div befindet. In dem Artikel befindet sich ein Bild und unter diesem Bild befindet sich eine Schaltfläche im folgenden Stil:
.article {
} .article {
}}
/ * innerhalb des Artikels möchte ich das Bild zentriert * /
.article img {
}}
/ * Jetzt sollte sich unter diesem Bild im selben Artikelelement eine Schaltfläche wie read more befinden. Natürlich müssen Sie mit em oder% arbeiten, wenn es sich in einem reaktionsschnellen Design befindet. * /
.Taste {
}}
Viel Glück
quelle
Wenn Sie Elemente innerhalb eines Div zentrieren möchten und sich nicht für die Divisionsgröße interessieren, können Sie Flex Power verwenden. Ich bevorzuge die Verwendung von Flex und verwende keine exakte Größe für Elemente.
Wie Sie sehen können, ist Outer div ein Flex-Container und Inner muss ein Flex-Element sein, mit dem
flex: 1 1 auto;
zum besseren Verständnis angegeben wurde. Sie können dieses einfache Beispiel sehen. http://jsfiddle.net/QMaster/hC223/Ich hoffe das hilft.
quelle
meins möchte Magie.
quelle
quelle