Ich versuche, ein Layout für Bilder in meiner App Rails zu machen, und ich habe Probleme mit der Ausrichtung.CSS - Machen Sie Bilder gleiche Größe, auch wenn Zeile nicht voll ist
html
<div class="photos">
<div class="photo-row">
<div class="photo-wrapper">
<a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
</div>
<div class="photo-wrapper">
<a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
</div>
<div class="photo-wrapper">
<a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
</div>
</div>
<div class="photo-row">
<div class="photo-wrapper">
<a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
</div>
<div class="photo-wrapper">
<a class="fancybox" rel="group" href=""><img class="pending-photo" src="http://blog.blogcatalog.com/wp-content/uploads/mario-300x300.jpg" alt=""></a>
</div>
</div>
</div>
css
.photos {
display: flex;
flex-direction: column;
border: 10px solid goldenrod;
}
.photo-row {
border: 5px solid red;
display: flex;
}
.photo-wrapper {
border: 5px solid greenyellow;
margin-right: 20px;
}
.photo-wrapper:last-child {
margin-right: 0;
}
.pending-photo {
width: 100%;
}
Ich dachte Flexbox der beste Weg, dies zu tun wäre. Ich möchte, dass die Größe der Bilder auf der Fenstergröße geändert wird, deshalb habe ich eine Breite von 100%.
Aber das Problem, auf das ich gestoßen bin, ist, dass wenn die letzte Reihe nicht drei Bilder hat, sie ihre Größe leicht ändern und ich möchte die Bilder die gleiche Größe behalten. Ich möchte, dass alle Bilder in allen Zeilen die gleiche Größe wie Bilder in einer ganzen Zeile haben. Alle Bilder müssen immer die gleiche Größe haben.
Ich habe versucht, die Zeilen zu entfernen und es nur eine große flexbox zu sein, aber es gab auch Probleme mit der Ausrichtung.
Wenn Sie Instagram verwenden, finden Sie jemanden mit der letzten Reihe von Bildern nicht voll. Dies ist die Funktionalität, die ich will, kann aber nicht herausfinden, wie sie es tun.
jsfiddle
https://jsfiddle.net/kk7httso/11/
EDIT:
sieht tatsächlich aus wie meine Frage ein Duplikat Flex-box: Align last row to grid ist. Ich löste mein Problem, leere Elemente einzufügen, um die Reihe zu füllen, wie die erste Antwort dort suggeriert.
Ich habe nicht instagram, so dass ich etwas von dem Bild fehlt hier, aber wenn Sie möchten die Bilder gleichmäßig um die Größe, warum funktioniert nicht eine einfache prozentuale Breite? –
@JosephMarikle Ich möchte, dass alle Bilder für alle Zeilen genau gleich groß sind. Wenn eine Zeile nur zwei Bilder hat, sind sie viel größer als die Bilder in einer ganzen Reihe und ich weiß nicht, wie ich das beheben soll. – user4584963
Haben Sie versucht, die Eigenschaft 'flex' zu verwenden (ich würde' flex: 1 auto' denken)? wie hier: https://jsfiddle.net/koys2ok6/ –