Um Ihre Frage zu beantworten, ist dies alles, was Sie brauchen sehen Sie das vollständige responsive Demo mit vorab beigefügtem CSS:
/* Verwendung des col-xs-Media-Query-Breakpoints, aber Sie können 481 zu 768 ändern, um es nur auf col-sm und höher anzuwenden, wenn Sie möchten*/
@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;
}
}
Um die Unterstützung für Thumbnail-Inhalte innerhalb von Flex-Spalten wie im obigen Screenshot hinzuzufügen, fügen Sie auch dies hinzu... Beachten Sie, dass Sie dies auch mit Panels machen 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%;
}
Obwohl Flexbox in IE9 und darunter nicht funktioniert, können Sie das Demo mit einer Fallback-Lösung unter Verwendung von bedingten Tags mit etwas wie Javascript Grids als Polyfill verwenden:
Was die anderen beiden Beispiele in der akzeptierten Antwort betrifft... Das Tabellen-Demo ist eine gute Idee, aber wird falsch implementiert. Das Anwenden dieses CSS auf Bootstrap-Spaltenklassen wird zweifellos das Rasterframework vollständig zerstören. Sie sollten einen benutzerdefinierten Selektor verwenden und die Tabellenstile sollten nicht auf [class*='col-']
angewendet werden, die definierte Breiten haben. Diese Methode sollte NUR verwendet werden, wenn Sie gleich hohe UND gleich breite Spalten wünschen. Sie ist nicht für andere Layouts gedacht und ist NICHT responsiv. Wir können jedoch eine Fallback-Lösung für mobile Displays erstellen...
Inhalt...
Inhalt...
@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 ist das erste Demo in der akzeptierten Antwort, das eine Version des One True Layout implementiert, in manchen Situationen eine gute Wahl, aber nicht für Bootstrap-Spalten geeignet. Der Grund dafür ist, dass alle Spalten auf die Containerhöhe erweitern. Daher wird auch die Responsiveness beeinträchtigt, da die Spalten sich nicht auf die Elemente neben ihnen, sondern auf den gesamten Container ausdehnen. Diese Methode verhindert auch das Hinzufügen von unteren Margen zu Zeilen und verursacht auch andere Probleme wie das Scrollen zu Anker-Tags.
Für den vollständigen Code sehen Sie das Codepen, das den Flexbox-Code automatisch vorab befüllt.