Gibt es eine Möglichkeit, HTML-Elemente vertikal oder horizontal innerhalb der Haupteltern zu zentrieren?
<center></center>
Tag
<center>
Tag war vor ungefähr 12 Jahren veraltet.
Gibt es eine Möglichkeit, HTML-Elemente vertikal oder horizontal innerhalb der Haupteltern zu zentrieren?
<center></center>
Tag
<center>
Tag war vor ungefähr 12 Jahren veraltet.
Antworten:
Update : Obwohl diese Antwort wahrscheinlich Anfang 2013 richtig war, sollte sie nicht mehr verwendet werden. Die richtige Lösung verwendet Offsets .
Wie für andere Benutzer vorgeschlagen, gibt es auch native Bootstrap-Klassen wie:
class="text-center"
class="pagination-centered"
danke an @Henning und @trejder
class="text-center"
.pagination-centered
als Alternative.
text-center
für das Layout ist eine sehr schlechte Praxis. Die richtige Methode zum Ausrichten von Spalten in Bootstrap ist die Verwendung von col-XX-offset-Y
Klassen. getbootstrap.com/css/#grid-offsetting . Diese Antwort war 2013 wahrscheinlich richtig, sollte aber heute nicht mehr verwendet werden.
Aus der Bootstrap-Dokumentation :
Setzen Sie ein Element auf
display: block
und zentrieren Sie übermargin
. Erhältlich als Mixin und Klasse.
<div class="center-block">...</div>
Für zukünftige Besucher dieser Frage:
Wenn Sie versuchen, ein Bild in einem Div zu zentrieren, das Bild jedoch nicht zentriert wird, kann dies Ihr Problem beschreiben:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
Die img-responsive
Klasse fügt display:block
dem Bild-Tag eine Anweisung hinzu, die verhindert, dass text-align:center
( text-center
Klasse) funktioniert.
LÖSUNG:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
Das Hinzufügen der center-block
Klasse überschreibt die display:block
Anweisung, die mithilfe der img-responsive
Klasse eingegeben wurde.
Ohne die img-responsive
Klasse würde das Bild nur durch Hinzufügen einer text-center
Klasse zentriert
Außerdem sollten Sie die Grundlagen der Flexbox und deren Verwendung kennen, da Bootstrap4 sie jetzt nativ verwendet .
Hier ist ein exzellentes, schnelles Video-Tutorial von Brad Schiff
Hier ist ein toller Spickzettel
Aktualisiert 2018
In Bootstrap 4 haben sich die Zentrierungsmethoden geändert.
Horizontales Zentrum in BS4
text-center
wird immer noch für display:inline
Elemente verwendetmx-auto
ersetzt, center-block
um display:flex
Kinder zu zentrierenoffset-*
oder mx-auto
kann zum Zentrieren von Rasterspalten verwendet werdenmx-auto
(auto x-Achsen - Ränder) im Mittelpunkt display:block
oder display:flex
Elemente , die eine haben definierte Breite , ( %
, vw
, px
, etc ..). Flexbox wird standardmäßig für Rasterspalten verwendet, daher gibt es auch verschiedene Flexbox-Zentrierungsmethoden.
Demo Bootstrap 4 Horizontale Zentrierung
Informationen zur vertikalen Zentrierung in BS4 finden Sie unter https://stackoverflow.com/a/41464397/171456
Sie können direkt wie folgt in Ihre CSS-Datei schreiben:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
ich benutze das
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
Für die horizontale Zentrierung können Sie Folgendes verwenden:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />
. Umgeben img
mit Eltern div
und geben .text-center
oder .pagination-centered
Klasse Elternteil wirkt wie ein Zauber.
Ich mag diese Lösung aus einer ähnlichen Frage. https://stackoverflow.com/a/25036303/2364401 Verwenden Sie die Bootstraps- text-center
Klasse für die tatsächlichen Tabellendaten <td>
und Tabellenkopfelemente <th>
. So
<td class="text-center">Cell data</td>
und
<th class="text-center">Header cell data</th>
Mit Bootstrap 4 können Sie Flex verwenden
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
Quelle: Bootstrap 4.1
Bootstrap 4 + Flex lösen dies
Sie können verwenden
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
Es sollte den Mittelpunkt horizontal und vertikal zentrieren
Ich habe in Bootstrap 4 festgestellt, dass Sie dies tun können:
Mitte horizontal ist in der Tat text-center
Klasse
Bei der vertikalen Mitte wird jedoch bei Verwendung von Bootstrap-Klassen beides hinzugefügt, mb-auto mt-auto
sodass Rand oben und Rand unten auf automatisch gesetzt werden.
für Bootstrap4 vertikale Mitte weniger Elemente
D-Flex für Flex-Regeln
Flex-Säule für vertikale Richtung auf Gegenständen
Justify-Content-Center für die Zentrierung
style = 'height: 300px;' muss für Sollwerte haben, bei denen der Mittelpunkt berechnet werden soll, oder muss die Klasse h-100 verwenden
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>