HTML:Scroll-flex Behälter passt nicht Elemente zentriert
<div id="container">
<div class="item">Foo</div>
<div class="item">Bar</div>
</div>
CSS:
#container {
display: flex;
justify-content: center;
overflow: auto;
}
.item {
flex-grow: 1;
min-width: 200px;
max-width: 300px;
}
Wenn der obige Behälter auf weniger als 400px schrumpft, eine horizontale Bildlaufleiste angezeigt, wie erwartet. Das erste Objekt wird jedoch teilweise durch die linke Kante des Containers verdeckt, selbst wenn es ganz nach links gescrollt wird. Wenn der Behälter schrumpft, wird mehr von dem Gegenstand verdeckt.
Demo: http://jsfiddle.net/FTKcQ/. Resize Ergebnis-Frame zu beobachten. Getestet in Chrome 30 und Firefox 24.
Wenn justify-content
von center
zu einem anderen Wert (z. B. space-between
) geändert wird, dann ist der gesamte Inhalt durch Scrollen sichtbar. Warum verhalten sich zentrierte Objekte anders?
Das Ziel ist es, eine Reihe von zentrierten Elementen zu haben, von denen jede in der Breite zwischen einigen Bereichen wachsen wird. Wenn der Container nicht alle Elemente mit minimaler Breite aufnehmen kann, sollte ein Bildlauf erfolgen, damit alle Objekte angezeigt werden.
Robert, vielen Dank für gute Antwort! Aber was ist zu tun, wenn ich die Artikel in der Mitte sehen muss, nicht gerechtfertigt? –