5105 Stimmen

Wie man ein Element horizontal zentriert

Wie kann ich eine horizontale Zentrierung einer <div> in einem anderen <div> CSS verwenden?

<div id="outer">
  <div id="inner">Foo foo</div>
</div>

37 Stimmen

Von diesen großartigen Antworten möchte ich nur hervorheben, dass Sie "#inner" eine "Breite" geben müssen, oder es wird "100%" sein, und Sie können nicht sagen, ob es bereits zentriert ist.

1 Stimmen

display:flex; ist am einfachsten zu merken (Chrome gibt Ihnen Anleitungen in DevTools) und unterstützt die Zentrierung auf beiden Achsen.

23voto

Miguel Leite Punkte 119

Nun, es ist mir gelungen, eine Lösung zu finden, die vielleicht für alle Situationen geeignet ist, aber JavaScript verwendet:

Hier ist die Struktur:

<div class="container">
  <div class="content">Your content goes here!</div>
  <div class="content">Your content goes here!</div>
  <div class="content">Your content goes here!</div>
</div>

Und hier ist der JavaScript-Schnipsel:

$(document).ready(function() {
  $('.container .content').each( function() {
    container = $(this).closest('.container');
    content = $(this);

    containerHeight = container.height();
    contentHeight = content.height();

    margin = (containerHeight - contentHeight) / 2;
    content.css('margin-top', margin);
  })
});

Wenn Sie es in einem responsiven Ansatz verwenden möchten, können Sie Folgendes hinzufügen:

$(window).resize(function() {
  $('.container .content').each( function() {
    container = $(this).closest('.container');
    content = $(this);

    containerHeight = container.height();
    contentHeight = content.height();

    margin = (containerHeight - contentHeight) / 2;
    content.css('margin-top', margin);
  })
});

18voto

Versuchen Sie es mit

margin: 0 auto;

Wenn Sie Ihren Text auch zentrieren möchten, versuchen Sie es mit:

text-align: center;

18voto

Appy Sharma Punkte 144

Wir können verwenden Flexbox um dies ganz einfach zu erreichen:

<div id="outer">
    <div id="inner">Foo foo</div>
</div>

Zentrieren eines Divs innerhalb eines Divs Horizontal :

#outer {
   display: flex;
   justify-content: center;
}

Enter image description here

Zentrieren eines Divs innerhalb eines Divs vertikal :

#outer {
    display: flex;
    align-items: center;
}

Enter image description here

Und, um das Div vertikal und horizontal vollständig zu zentrieren:

#outer{
    display: flex;
    justify-content: center;
    align-items: center;
}

Enter image description here

18voto

ChandanK Punkte 31

Fügen Sie einfach diesen CSS-Inhalt in Ihre CSS-Datei ein. Es wird den Inhalt automatisch zentrieren.

Horizontal zentriert ausrichten in CSS:

#outer {
    display: flex;
    justify-content: center;
}

Vertikal ausrichten + horizontal zentrieren in CSS:

#outer {
    display: flex;
    justify-content: center;
    align-items: center;
}

18voto

sarath Punkte 521

Wenn jemand möchte eine jQuery-Lösung für Zentrum ausrichten diese divs:

$(window).bind("load", function() {
    var wwidth = $("#outer").width();
    var width = $('#inner').width();
    $('#inner').attr("style", "padding-left: " + wwidth / 2 + "px; margin-left: -" + width / 2 + "px;");
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X