Flexbox, responsive raster von quadratischen divs gleichbleibendem Seitenverhältnis
Ich versuche zu erstellen, die eine 2x2-raster mit divs. Einige der divs könnte ein Bild enthalten, aber es wird wahrscheinlich eingestellt werden, als hintergrund, mit der option background-size: cover
.
Hier ist die pen habe ich: http://codepen.io/qarlo/pen/vLEprq
CSS:
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: auto;
max-width: 960px;
width: 80%;
}
.container__item {
align-content: center;
border: 1px solid #333;
display: flex;
flex-basis: 1;
font-size: 3em;
justify-content: center;
height: 100%;
margin-bottom: 1em;
min-height: 300px;
width: 47%;
}
HTML:
<div class="container">
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
</div>
Ich möchte die Kraft, die divs werden Plätze und behalten Sie das Seitenverhältnis bei der Größenänderung. Ich war irrtümlich in der Hoffnung, dass dieser gewesen wäre, einfach mit flexbox, aber es sei denn, ich bin fehlt etwas, ich war falsch.
- danke, aber es funktioniert nicht auf Firefox und es scheint zu funktionieren, in Chrome, verliere ich die Ausrichtung des Inhalts
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pflegen Ihre Artikel-Aspekt-Verhältnis, eine sehr einfache Methode ist die Verwendung CSS Viewport-Einheiten
Modifizierte ich den Stift um zu sehen, wie diese Geräte arbeiten: http://codepen.io/vladbicu/pen/wMBmOb
Hoffe, es hilft.
Verwenden Sie die alt "padding-bottom" trick für festes Seitenverhältnis. Extra-divs sind reqiured obwohl:
CSS:
HTML:
.container
und.container__square
statt schwimmt. Ich verwendet schwimmt, weil seine alte Schule, ähnlich wie die Polsterung trick.Denke, man müsste um mindestens die
min-height
zu pflegen, der Aspekt ration auf die Größe, wenn Sie möchten, gehen Sie mit einem flex-box-layout.Hier ist eine quick-and-dirty-Beispiel.
JS:
CSS:
HTML:
Hoffe, es hilft.
Als ich verstehen, ich denke, Sie wollen flexible Boxen die ganze Zeit, so dass Sie können diese Aktion durchführen, durch die Verwendung von JavaScript.
und das ist, wie Sie pflegen können flexible Boxen
oder Sie können externe Bibliothek