2016-07-04 18 views
-1

Ich benutze den Bootstrap 4 und wollte wissen, wie ich alle Spalten der gleichen Höhe verlassen? Wenn möglich, ohne flexbox zu verwenden, um mit älteren Browsern kompatibel zu sein (bah!).gleiche Höhe zu Spalten bootstrap4

Danke

Antwort

-2

Hier ist, was Sie tun, wenn Sie Flexbox

verwenden möchten

Die CSS

.row.is-flex { 
    display: flex; 
    flex-wrap: wrap; 
} 
.row.is-flex > [class*='col-'] { 
    display: flex; 
    flex-direction: column; 
} 

/* 
* And with max cross-browser enabled. 
* Nobody should ever write this by hand. 
* Use a preprocesser with autoprefixing. 
*/ 
.row.is-flex { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-flex-wrap: wrap; 
    -ms-flex-wrap: wrap; 
    flex-wrap: wrap; 
} 

.row.is-flex > [class*='col-'] { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-orient: vertical; 
    -webkit-box-direction: normal; 
    -webkit-flex-direction: column; 
    -ms-flex-direction: column; 
    flex-direction: column; 
} 

Die html

<div class="row is-flex"> 
    <div class="col-sm-4">...</div> 
    <div class="col-sm-4">...</div> 
    <div class="col-sm-4">...</div> 
</div> 

Quelle (https://scotch.io/bar-talk/different-tricks-on-how-to-make-bootstrap-columns-all-the-same-height)

+0

Bootstrap 4 ist jetzt standardmäßig flexbox, daher ist dieses zusätzliche CSS überflüssig. http://www.codeply.com/go/m20UAOFw79 – ZimSystem

1

die ersten beiden Lösungen von this Antwort verwenden. Bei der dritten Lösung handelt es sich um eine Flexbox, aber Sie möchten das nicht.

Falls Link hier nicht funktioniert, ist erste Lösung: (Mit Vorsicht)

.row { 
    overflow:hidden; 
} 
[class*="col-"]{ 
    margin-bottom:-99999px; 
    padding-botton:99999px; 
} 

Lösung 2: (Tabellen)

.row { 
    display:table; 
} 
[class*="col-"] { 
    float:none; 
    display:table-cell; 
    vertical-align:top; 
} 
+1

Wie in der anderen Antwort erwähnt, diese Lösungen funktionieren nicht wirklich, da sie Spaltenumbruch und Reaktions brechen. http://codeply.com/go/tPLjH5r6dJ – ZimSystem

+0

Sie sollten sofort wissen, dass, wenn eine Lösung vorschlägt, fügen Sie '-99999px' zu Ihren Stilen, dann ist es offensichtlich eine totale Hack-Lösung und sollte mit äußerster Vorsicht verwendet werden. –

+0

@EdmundReed Danke für diesen Kommentar ... auch wenn es etwa ein Jahr später war ... –

0

Wollen Sie die Inhalt der c die gleiche Höhe der Säule? Bootstrap 4's equal height cards kann dafür verwendet werden. Verwendet display:table und display:table-cell, wenn Flexbox nicht aktiviert ist .

UPDATE

Nun, da Bootstrap 4 (alpha 6) Flexbox standardmäßig ist, sind die Spalten immer gleich hoch: http://www.codeply.com/go/m20UAOFw79

+1

Das war nicht die Frage des OP. Er möchte die tatsächliche Spaltenhöhe. Die Karten gleicher Höhe sind keine Lösung. –

+0

Ich bot eine andere Option an, da die Tabellenzellen- und Negativ-Margen-Methoden viele nachteilige Auswirkungen haben. – ZimSystem