Um Ihre Frage zu beantworten, ist dies alles, was Sie brauchen, um eine vollständige Demo mit dem Präfix CSS zu sehen :
/* Using col-xs media query breakpoint but you can change 481 to 768 to only apply to col-sm and above if you'd like*/
@media only screen and (min-width : 481px) {
.flex-row {
display: flex;
flex-wrap: wrap;
}
.flex-row > [class*='col-'] {
display: flex;
flex-direction: column;
}
.flex-row.row:after,
.flex-row.row:before {
display: flex;
}
}
Fügen Sie Folgendes hinzu, um die Unterstützung für den Flex von Miniaturansichten in Flex-Spalten wie im obigen Screenshot hinzuzufügen ... Beachten Sie, dass Sie dies auch mit Bedienfeldern tun können:
.flex-row .thumbnail,
.flex-row .caption {
display: flex;
flex: 1 0 auto;
flex-direction: column;
}
.flex-text {
flex-grow: 1;
}
.flex-row img {
width: 100%;
}
Während Flexbox in IE9 und darunter nicht funktioniert, können Sie die Demo mit einem Fallback verwenden, indem Sie bedingte Tags mit so etwas wie Javascript-Gittern als Polyfill verwenden:
<!--[if lte IE 9]>
<![endif]-->
Was die beiden anderen Beispiele in der akzeptierten Antwort betrifft ... Die Tabellendemo ist eine anständige Idee, wird aber falsch implementiert. Wenn Sie dieses CSS speziell auf Bootstrap-Spaltenklassen anwenden, wird das Grid-Framework ohne Zweifel vollständig beschädigt. Sie sollten einen benutzerdefinierten Selektor für eins und zwei verwenden. Die Tabellenstile sollten nicht auf [class*='col-']
definierte Breiten angewendet werden . Diese Methode sollte NUR verwendet werden, wenn Sie Spalten mit gleicher Höhe UND gleicher Breite wünschen. Es ist nicht für andere Layouts gedacht und reagiert NICHT. Wir können es jedoch auf mobilen Displays zurückgreifen lassen ...
<div class="table-row-equal">
<div class="thumbnail">
Content...
</div>
<div class="thumbnail">
Content...
</div>
</div>
@media only screen and (min-width : 480px){
.table-row-equal {
display: table;
width: 100%;
table-layout: fixed;
border-spacing: 30px 0px;
word-wrap: break-word;
}
.table-row-equal .thumbnail {
float: none;
display: table-cell;
vertical-align: top;
width: 1%;
}
}
Zuletzt die erste Demo in der akzeptierten Antwort, die eine Version des einen wahren Layouts implementiert für einige Situationen eine gute Wahl, jedoch nicht für Bootstrap-Spalten geeignet. Der Grund dafür ist, dass alle Spalten auf die Containerhöhe erweitert werden. Dies beeinträchtigt also auch die Reaktionsfähigkeit, da die Spalten nicht auf die Elemente neben ihnen, sondern auf den gesamten Container erweitert werden. Mit dieser Methode können Sie auch keine unteren Ränder mehr auf Zeilen anwenden und andere Probleme verursachen, z. B. das Scrollen zu Ankertags.
Den vollständigen Code finden Sie im Codepen, dem der Flexbox-Code automatisch vorangestellt wird.