In Bootstrap 4 sollte man die text-centerKlasse verwenden, um Inline-Blöcke auszurichten .
HINWEIS: Die text-align:center;Definition in einer benutzerdefinierten Klasse, die Sie auf Ihr übergeordnetes Element anwenden, funktioniert unabhängig von der verwendeten Bootstrap-Version. Und genau das .text-centergilt.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="container">
<div class="row">
<div class="col text-center">
<button class="btn btn-default">Centered button</button>
</div>
</div>
</div>
Wenn der zu zentrierende Inhalt Block oder Flex ist (nicht inline-), kann man ihn mit Flexbox zentrieren :
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="d-flex justify-content-center">
<button class="btn btn-default">Centered button</button>
</div>
... was für display: flex; justify-content: centerEltern gilt.
Hinweis: Verwenden Sie nicht .row.justify-content-centeranstelle von .d-flex.justify-content-center, da .rowbei bestimmten Reaktionsintervallen negative Ränder angewendet werden, was zu unerwarteten horizontalen Bildlaufleisten führt (es .rowsei denn, es handelt sich um ein direktes untergeordnetes Element von .container, das bei den richtigen Reaktionsintervallen einen seitlichen Abstand anwendet, um dem negativen Rand entgegenzuwirken). Wenn Sie .rowaus irgendeinem Grund den Rand und die Polsterung überschreiben müssen .m-0.p-0, erhalten Sie in diesem Fall fast die gleichen Stile wie .d-flex.
Wichtiger Hinweis: Die zweite Lösung ist problematisch, wenn der zentrierte Inhalt (die Schaltfläche) die Breite des übergeordneten Inhalts () überschreitet, .d-flexinsbesondere wenn das übergeordnete Element die Breite des Ansichtsfensters hat, insbesondere weil es unmöglich ist, horizontal zum Anfang des Inhalts zu scrollen (links-) die meisten).
Verwenden Sie es also nicht, wenn der zu zentrierende Inhalt breiter als die verfügbare übergeordnete Breite werden kann und auf alle Inhalte zugegriffen werden sollte.