I'm menggunakan Bootstrap. Bagaimana saya bisa membuat tiga kolom sama tinggi?
Berikut adalah screenshot dari masalah. Saya suka biru dan merah kolom sama tinggi seperti kuning kolom.
Berikut ini adalah kode:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row">
<div class="col-xs-4 panel" style="background-color: red">
some content
</div>
<div class="col-xs-4 panel" style="background-color: yellow">
catz
<img width="100" height="100" src="https://lorempixel.com/100/100/cats/">
</div>
<div class="col-xs-4 panel" style="background-color: blue">
some more content
</div>
</div>
</div>
Solusi 4 menggunakan Bootstrap 4
Bootstrap 4 menggunakan Flexbox jadi ada's kebutuhan untuk tambahan CSS.
<div class="container">
<div class="row ">
<div class="col-md-4" style="background-color: red">
some content
</div>
<div class="col-md-4" style="background-color: yellow">
catz
<img width="100" height="100" src="https://lorempixel.com/100/100/cats/">
</div>
<div class="col-md-4" style="background-color: green">
some more content
</div>
</div>
</div>
Solusi 1 menggunakan margin negatif (doesn't break responsiveness)
.row{
overflow: hidden;
}
[class*="col-"]{
margin-bottom: -99999px;
padding-bottom: 99999px;
}
Solusi 2 menggunakan tabel
.row {
display: table;
}
[class*="col-"] {
float: none;
display: table-cell;
vertical-align: top;
}
Solusi 3 menggunakan flex menambahkan april 2015. Komentar yang diposting sebelum ini don't berlaku untuk solusi ini.
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
}
.row > [class*='col-'] {
display: flex;
flex-direction: column;
}
Pendekatan terbaik untuk Bootstap 3.x -- menggunakan CSS flexbox (dan membutuhkan minimal CSS)..
.equal {
display: flex;
display: -webkit-flex;
flex-wrap: wrap;
}
Bootstrap ketinggian yang sama flexbox contoh
Hanya berlaku ketinggian yang sama flexbox di breakpoints tertentu (responsif), menggunakan media query. Sebagai contoh, di sini adalah sm
(768px) dan up:
@media (min-width: 768px) {
.row.equal {
display: flex;
flex-wrap: wrap;
}
}
Solusi ini juga bekerja dengan baik untuk beberapa baris (kolom pembungkus):
https://www.bootply.com/gCEXzPMehZ
Cara-cara lainnya.
Pilihan ini akan direkomendasikan oleh orang lain, tapi adalah bukan ide yang baik untuk desain responsif. Ini hanya bekerja untuk single row layout w/o kolom pembungkus.
Menggunakan besar margin negatif & padding
Menggunakan display:table-cell (solusi ini juga efek grid responsif, sehingga @media query dapat digunakan untuk hanya menerapkan meja
tampilan pada layar yang lebih luas sebelum kolom tersusun secara vertikal)
Flexbox sekarang digunakan secara default dalam Bootstrap 4 sehingga tidak perlu untuk tambahan CSS untuk membuat sama tinggi kolom: http://www.codeply.com/go/IJYRI4LPwU
Contoh: ``html
Tidak ada JavaScript yang dibutuhkan. Hanya tambahkan kelas .baris-eq-tinggi
yang ada .baris
seperti ini:
<div class="row row-eq-height">
<div class="col-xs-12 col-sm-4 panel" style="background-color: red">
some content
</div>
<div class="col-xs-6 col-sm-4 panel" style="background-color: yellow">
kittenz
<img src="http://placekitten.com/100/100">
</div>
<div class="col-xs-6 col-sm-4 panel" style="background-color: blue">
some more content
</div>
</div>
Tip: jika anda memiliki lebih dari 12 kolom di baris anda, bootstrap grid akan gagal untuk membungkusnya. Jadi tambahkan baru div.baris.baris-eq-tinggi
masing-masing 12 kolom.
Tip: anda mungkin perlu untuk menambahkan
<link rel="stylesheet" href="http://getbootstrap.com.vn/examples/equal-height-columns/equal-height-columns.css" />
untuk anda html
Untuk menjawab pertanyaan anda ini adalah semua yang anda butuhkan lihat full responsif demo diawali dengan css:
/* 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;
}
}
Untuk menambahkan dukungan untuk thumbnail konten flex flex dalam kolom seperti gambar di atas juga menambahkan ini... Catatan anda bisa melakukan ini dengan panel juga:
.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%;
}
Sementara flexbox doesn't bekerja di IE9 dan di bawah ini anda dapat menggunakan demo dengan fallback menggunakan tag kondisional dengan sesuatu seperti javascript grid sebagai polyfill:
<!--[if lte IE 9]>
<![endif]-->
Adapun dua lainnya contoh dalam jawaban yang diterima... meja demo adalah ide yang layak tapi sedang dilaksanakan yang salah. Menerapkan CSS bootstrap kolom kelas khusus akan tanpa ragu memecahkan grid framework sepenuhnya. Anda harus menggunakan custom pemilih untuk satu dan dua tabel gaya tidak harus diterapkan untuk [class*='col-']
yang telah didefinisikan lebar. Metode ini HANYA boleh digunakan jika anda ingin sama tinggi DAN sama lebar kolom. Hal ini tidak dimaksudkan untuk setiap layout lain dan TIDAK responsif. Kita bisa membuatnya mundur namun pada ponsel menampilkan...
<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%;
}
}
Terakhir, demo yang pertama dalam menerima jawaban yang menerapkan versi yang benar tata letak adalah pilihan yang baik untuk beberapa situasi, tetapi tidak cocok untuk bootstrap kolom. Alasan untuk ini adalah bahwa semua kolom memperluas ke wadah tinggi. Jadi ini juga akan memecah respon karena kolom tidak memperluas ke elemen berikutnya untuk mereka, tetapi seluruh wadah. Metode ini juga akan memungkinkan anda untuk menerapkan margin bawah untuk baris lagi dan juga akan menyebabkan masalah lain di sepanjang jalan seperti bergulir untuk tag anchor.
Untuk kode lengkap lihat Codepen yang secara otomatis awalan flexbox kode.
Anda hanya menampilkan satu baris sehingga kasus penggunaan anda mungkin terbatas untuk itu. Hanya dalam kasus anda memiliki beberapa baris, plugin ini - github Javascript-grid - bekerja dengan sempurna! Hal itu membuat masing-masing panel memperluas ke tertinggi panel, memberikan masing-masing baris berpotensi ketinggian yang berbeda berdasarkan tertinggi panel di baris itu. It's jquery solusi vs. css, tapi ingin merekomendasikan hal ini sebagai alternatif pendekatan.
Jika anda ingin membuat ini bekerja di setiap browser, menggunakan javascript:
$( document ).ready(function() {
var heights = $(".panel").map(function() {
return $(this).height();
}).get(),
maxHeight = Math.max.apply(null, heights);
$(".panel").height(maxHeight);
});
Anda dapat menggunakan inline-flex juga yang bekerja dengan cukup baik dan mungkin sedikit lebih bersih daripada memodifikasi setiap baris elemen dengan CSS.
Untuk proyek saya aku ingin setiap baris yang's child unsur-unsur yang memiliki perbatasan yang sama tinggi sehingga perbatasan akan terlihat bergerigi. Untuk hal ini saya membuat sebuah css sederhana kelas.
.row.borders{
display: inline-flex;
width: 100%;
}
Beberapa dari jawaban sebelumnya menjelaskan bagaimana untuk membuat div ketinggian yang sama, tapi masalahnya adalah bahwa ketika lebar, terlalu sempit div won't tumpukan, oleh karena itu anda dapat menerapkan jawaban mereka dengan tambahan satu bagian. Untuk masing-masing anda dapat menggunakan CSS nama yang diberikan di sini di samping deretan kelas yang anda gunakan, sehingga div akan terlihat seperti ini jika anda selalu ingin div samping satu sama lain:
<div class="row row-eq-height-xs">Your Content Here</div>
Untuk semua layar:
.row-eq-height-xs {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: row;
}
Ketika anda ingin menggunakan sm:
.row-eq-height-sm {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: column;
}
@media (min-width:768px) {
.row-eq-height-sm {
flex-direction: row;
}
}
Ketika anda ingin md:
.row-eq-height-md {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: column;
}
@media (min-width:992px) {
.row-eq-height-md {
flex-direction: row;
}
}
Ketika anda ingin menggunakan lg:
.row-eq-height-lg {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: column;
}
@media (min-width:1200px) {
.row-eq-height-md {
flex-direction: row;
}
}
EDIT
Berdasarkan komentar, memang ada solusi yang lebih sederhana, tetapi anda perlu memastikan untuk memberikan kolom info dari yang terbesar diinginkan lebar untuk semua ukuran ke xs (misalnya <div class="col-md-3 col-sm-4 col-xs-12">
:
.row-eq-height {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
nakal jquery solusi jika ada's tertarik. Hanya pastikan anda cols (el) memiliki kesamaan classname...bekerja responsif juga jika anda mengikat ke $(window).resize
function equal_cols(el)
{
var h = 0;
$(el).each(function(){
$(this).css({'height':'auto'});
if($(this).outerHeight() > h)
{
h = $(this).outerHeight();
}
});
$(el).each(function(){
$(this).css({'height':h});
});
}
$(document).ready(function(){
equal_cols('.selector');
});
Catatan: posting Ini telah diedit sebagai per @Chris' komentar bahwa kode itu hanya mengatur lalu ketinggian tertinggi di $.masing-masing()
fungsi
Saya mencoba banyak saran-saran yang dibuat dalam thread ini dan pada halaman lain tapi tidak ada solusi yang bekerja 100% di setiap browser.
Jadi saya bereksperimen beberapa waktu dan datang dengan ini. Solusi lengkap untuk Bootstrap Sama Tinggi kolom dengan bantuan flexbox dengan hanya 1 kelas. Ini bekerja di semua browser utama IE10+.
CSS:
.row.equal-cols {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.row.equal-cols:before,
.row.equal-cols:after {
display: block;
}
.row.equal-cols > [class*='col-'] {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.row.equal-cols > [class*='col-'] > * {
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
}
HTML:
<div class="container">
<div class="row equal-cols">
<div class="col-sm-4">
<div class="content"></div>
</div>
<div class="col-sm-4">
<div class="content"></div>
</div>
<div class="col-sm-4">
<div class="content"></div>
</div>
</div>
</div>
Untuk mendukung bahkan lebih versi IE anda dapat, misalnya, menggunakan https://github.com/liabru/jquery-match-height dan target semua anak kolom .sama-cols
. Seperti ini:
// Create a check for IE9 (or any other specific browser).
if(IE9) {
$(".row.equal-cols > [class*='col-']").matchHeight();
}
Tanpa ini polyfill kolom akan berperilaku seperti biasa Bootstrap kolom jadi yang cukup baik mundur.
I'm terkejut aku tak't menemukan berharga solusi di sini akhir tahun 2018. Aku pergi ke depan dan tahu Bootstrap 3 solusi sendiri menggunakan flexbox.
Bersih dan sederhana contoh:
HTML
<div class="row row-equal">
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 col-equal">
<p>Text</p>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 col-equal">
<img src="//placehold.it/200x200">
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 col-equal">
<p>Text</p>
</div>
</div>
CSS
img {
width: 100%;
}
p {
padding: 2em;
}
@media (min-width: 768px) {
.row-equal {
display: flex;
flex-wrap: wrap;
}
.col-equal {
margin: auto;
}
}
Lihat demo:
Jika ada yang menggunakan bootstrap 4 dan mencari sama tinggi kolom hanya menggunakan baris-eq-tinggi
untuk orang tua div
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="row row-eq-height">
<div class="col-xs-4" style="border: 1px solid grey;">.row.row-eq-height > .col-xs-4</div>
<div class="col-xs-4" style="border: 1px solid grey;">.row.row-eq-height > .col-xs-4<br>this is<br>a much<br>taller<br>column<br>than the others</div>
<div class="col-xs-4" style="border: 1px solid grey;">.row.row-eq-height > .col-xs-4</div>
</div>
Ref: http://getbootstrap.com.vn/examples/equal-height-columns/
Ada masalah dengan menggunakan Larutan 1 sementara appling itu hanya pada kolom di baris. Ingin meningkatkan Solusi 1.
[class^="col-"]:not([class*="-12"]){
margin-bottom: -99999px;
padding-bottom: 99999px;
}
(Maaf,'t komentar Popnoodles's anwer. Saya tidak memiliki cukup reputasi)
berikut ini adalah solusi saya (disusun CSS):
.row.row-xs-eq {
display: table;
table-layout: fixed;
margin: 0;
}
.row.row-xs-eq::before {
content: none;
}
.row.row-xs-eq::after {
content: none;
}
.row.row-xs-eq > [class^='col-'] {
display: table-cell;
float: none;
padding: 0;
}
@media (min-width: 768px) {
.row.row-sm-eq {
display: table;
table-layout: fixed;
margin: 0;
}
.row.row-sm-eq::before {
content: none;
}
.row.row-sm-eq::after {
content: none;
}
.row.row-sm-eq > [class^='col-'] {
display: table-cell;
float: none;
padding: 0;
}
}
@media (min-width: 992px) {
.row.row-md-eq {
display: table;
table-layout: fixed;
margin: 0;
}
.row.row-md-eq::before {
content: none;
}
.row.row-md-eq::after {
content: none;
}
.row.row-md-eq > [class^='col-'] {
display: table-cell;
float: none;
padding: 0;
}
}
@media (min-width: 1200px) {
.row.row-lg-eq {
display: table;
table-layout: fixed;
margin: 0;
}
.row.row-lg-eq::before {
content: none;
}
.row.row-lg-eq::after {
content: none;
}
.row.row-lg-eq > [class^='col-'] {
display: table-cell;
float: none;
padding: 0;
}
}
Sehingga kode anda akan terlihat seperti:
<div class="row row-sm-eq">
<!-- your old cols definition here -->
</div>
Pada dasarnya ini adalah sistem yang sama yang anda gunakan dengan .col-*
kelas dengan perbedaan yang anda butuhkan untuk menerapkan .baris-*
kelas untuk baris itu sendiri.
Dengan .baris-sm-eq
kolom akan ditumpuk pada XS layar. Jika anda don't membutuhkan mereka untuk ditumpuk pada setiap layar, anda dapat menggunakan .baris-xs-eq
.
SASS versi yang kita lakukan benar-benar menggunakan:
.row {
@mixin row-eq-height {
display: table;
table-layout: fixed;
margin: 0;
&::before {
content: none;
}
&::after {
content: none;
}
> [class^='col-'] {
display: table-cell;
float: none;
padding: 0;
}
}
&.row-xs-eq {
@include row-eq-height;
}
@media (min-width: $screen-sm-min) {
&.row-sm-eq {
@include row-eq-height;
}
}
@media (min-width: $screen-md-min) {
&.row-md-eq {
@include row-eq-height;
}
}
@media (min-width: $screen-lg-min) {
&.row-lg-eq {
@include row-eq-height;
}
}
}
Catatan: pencampuran .col-xs-12
dan .col-xs-6
dalam satu baris tidak akan bekerja dengan baik.
.row.container-height {
overflow: hidden;
}
.row.container-height > [class*="col-"]{
margin-bottom: -99999px;
padding-bottom: 99999px;
}
di mana .wadah-tinggi adalah kelas gaya yang harus ditambahkan ke .turut gaya elemen yang semua nya .col* anak-anak memiliki ketinggian yang sama.
Menerapkan gaya ini hanya untuk beberapa spesifik .baris (dengan .wadah-tinggi, seperti pada contoh) juga menghindari menerapkan margin dan padding melimpah untuk semua .col*.
Terbaik di luar sana:
Bekerja dengan bootstrap
Update:
/*!
*
* Reflex v1.0
*
* Reflex is a flexbox grid which provides a way to take advantage of emerging
* flexbox support while providing a fall back to inline-block on older browsers
*
* Built by Lee Jordan G.C.S.E.
* email: [email protected]
* github: https://github.com/leejordan
*
* Structure and calculations are inspired by twitter bootstrap
*
*/
.reflex-order-12 {
-webkit-order: 12;
-ms-flex-order: 12;
order: 12;
}
.reflex-order-11 {
-webkit-order: 11;
-ms-flex-order: 11;
order: 11;
}
.reflex-order-10 {
-webkit-order: 10;
-ms-flex-order: 10;
order: 10;
}
.reflex-order-9 {
-webkit-order: 9;
-ms-flex-order: 9;
order: 9;
}
.reflex-order-8 {
-webkit-order: 8;
-ms-flex-order: 8;
order: 8;
}
.reflex-order-7 {
-webkit-order: 7;
-ms-flex-order: 7;
order: 7;
}
.reflex-order-6 {
-webkit-order: 6;
-ms-flex-order: 6;
order: 6;
}
.reflex-order-5 {
-webkit-order: 5;
-ms-flex-order: 5;
order: 5;
}
.reflex-order-4 {
-webkit-order: 4;
-ms-flex-order: 4;
order: 4;
}
.reflex-order-3 {
-webkit-order: 3;
-ms-flex-order: 3;
order: 3;
}
.reflex-order-2 {
-webkit-order: 2;
-ms-flex-order: 2;
order: 2;
}
.reflex-order-1 {
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.reflex-order-0 {
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.reflex-container {
display: inline-block;
display: -webkit-flex;
display: flex;
zoom: 1;
*display: inline;
margin: 0;
padding: 0;
position: relative;
width: 100%;
letter-spacing: -0.31em;
*letter-spacing: normal;
word-spacing: -0.43em;
list-style-type: none;
}
.reflex-container *,
.reflex-container:before,
.reflex-container:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
max-width: 100%;
letter-spacing: normal;
word-spacing: normal;
white-space: normal;
}
.reflex-container *:before,
.reflex-container *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
[class*="reflex-col-"] {
width: 100%;
vertical-align: top;
position: relative;
display: inline-block;
display: -webkit-flex;
display: flex;
zoom: 1;
*display: inline;
text-align: left;
text-align: start;
}
.reflex-item {
display: block;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-flex: 1 1 auto;
flex: 1 1 auto;
}
_:-ms-fullscreen,
:root .reflex-item {
width: 100%;
}
.reflex-col-12 {
width: 100%;
*width: 99.9%;
}
.reflex-col-11 {
width: 91.66666666666666%;
*width: 91.56666666666666%;
}
.reflex-col-10 {
width: 83.33333333333334%;
*width: 83.23333333333335%;
}
.reflex-col-9 {
width: 75%;
*width: 74.9%;
}
.reflex-col-8 {
width: 66.66666666666666%;
*width: 66.56666666666666%;
}
.reflex-col-7 {
width: 58.333333333333336%;
*width: 58.233333333333334%;
}
.reflex-col-6 {
width: 50%;
*width: 49.9%;
}
.reflex-col-5 {
width: 41.66666666666667%;
*width: 41.56666666666667%;
}
.reflex-col-4 {
width: 33.33333333333333%;
*width: 33.23333333333333%;
}
.reflex-col-3 {
width: 25%;
*width: 24.9%;
}
.reflex-col-2 {
width: 16.666666666666664%;
*width: 16.566666666666663%;
}
.reflex-col-1 {
width: 8.333333333333332%;
*width: 8.233333333333333%;
}
@media (min-width: 480px) {
.reflex-col-xs-12 {
width: 100%;
*width: 99.9%;
}
.reflex-col-xs-11 {
width: 91.66666666666666%;
*width: 91.56666666666666%;
}
.reflex-col-xs-10 {
width: 83.33333333333334%;
*width: 83.23333333333335%;
}
.reflex-col-xs-9 {
width: 75%;
*width: 74.9%;
}
.reflex-col-xs-8 {
width: 66.66666666666666%;
*width: 66.56666666666666%;
}
.reflex-col-xs-7 {
width: 58.333333333333336%;
*width: 58.233333333333334%;
}
.reflex-col-xs-6 {
width: 50%;
*width: 49.9%;
}
.reflex-col-xs-5 {
width: 41.66666666666667%;
*width: 41.56666666666667%;
}
.reflex-col-xs-4 {
width: 33.33333333333333%;
*width: 33.23333333333333%;
}
.reflex-col-xs-3 {
width: 25%;
*width: 24.9%;
}
.reflex-col-xs-2 {
width: 16.666666666666664%;
*width: 16.566666666666663%;
}
.reflex-col-xs-1 {
width: 8.333333333333332%;
*width: 8.233333333333333%;
}
}
@media (min-width: 768px) {
.reflex-col-sm-12 {
width: 100%;
*width: 99.9%;
}
.reflex-col-sm-11 {
width: 91.66666666666666%;
*width: 91.56666666666666%;
}
.reflex-col-sm-10 {
width: 83.33333333333334%;
*width: 83.23333333333335%;
}
.reflex-col-sm-9 {
width: 75%;
*width: 74.9%;
}
.reflex-col-sm-8 {
width: 66.66666666666666%;
*width: 66.56666666666666%;
}
.reflex-col-sm-7 {
width: 58.333333333333336%;
*width: 58.233333333333334%;
}
.reflex-col-sm-6 {
width: 50%;
*width: 49.9%;
}
.reflex-col-sm-5 {
width: 41.66666666666667%;
*width: 41.56666666666667%;
}
.reflex-col-sm-4 {
width: 33.33333333333333%;
*width: 33.23333333333333%;
}
.reflex-col-sm-3 {
width: 25%;
*width: 24.9%;
}
.reflex-col-sm-2 {
width: 16.666666666666664%;
*width: 16.566666666666663%;
}
.reflex-col-sm-1 {
width: 8.333333333333332%;
*width: 8.233333333333333%;
}
}
@media (min-width: 992px) {
.reflex-col-md-12 {
width: 100%;
*width: 99.9%;
}
.reflex-col-md-11 {
width: 91.66666666666666%;
*width: 91.56666666666666%;
}
.reflex-col-md-10 {
width: 83.33333333333334%;
*width: 83.23333333333335%;
}
.reflex-col-md-9 {
width: 75%;
*width: 74.9%;
}
.reflex-col-md-8 {
width: 66.66666666666666%;
*width: 66.56666666666666%;
}
.reflex-col-md-7 {
width: 58.333333333333336%;
*width: 58.233333333333334%;
}
.reflex-col-md-6 {
width: 50%;
*width: 49.9%;
}
.reflex-col-md-5 {
width: 41.66666666666667%;
*width: 41.56666666666667%;
}
.reflex-col-md-4 {
width: 33.33333333333333%;
*width: 33.23333333333333%;
}
.reflex-col-md-3 {
width: 25%;
*width: 24.9%;
}
.reflex-col-md-2 {
width: 16.666666666666664%;
*width: 16.566666666666663%;
}
.reflex-col-md-1 {
width: 8.333333333333332%;
*width: 8.233333333333333%;
}
}
@media (min-width: 1200px) {
.reflex-col-lg-12 {
width: 100%;
*width: 99.9%;
}
.reflex-col-lg-11 {
width: 91.66666666666666%;
*width: 91.56666666666666%;
}
.reflex-col-lg-10 {
width: 83.33333333333334%;
*width: 83.23333333333335%;
}
.reflex-col-lg-9 {
width: 75%;
*width: 74.9%;
}
.reflex-col-lg-8 {
width: 66.66666666666666%;
*width: 66.56666666666666%;
}
.reflex-col-lg-7 {
width: 58.333333333333336%;
*width: 58.233333333333334%;
}
.reflex-col-lg-6 {
width: 50%;
*width: 49.9%;
}
.reflex-col-lg-5 {
width: 41.66666666666667%;
*width: 41.56666666666667%;
}
.reflex-col-lg-4 {
width: 33.33333333333333%;
*width: 33.23333333333333%;
}
.reflex-col-lg-3 {
width: 25%;
*width: 24.9%;
}
.reflex-col-lg-2 {
width: 16.666666666666664%;
*width: 16.566666666666663%;
}
.reflex-col-lg-1 {
width: 8.333333333333332%;
*width: 8.233333333333333%;
}
}
.reflex-wrap {
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.reflex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse;
flex-wrap: wrap-reverse;
}
.reflex-direction-row-reverse {
-webkit-flex-direction: row-reverse;
flex-direction: row-reverse;
}
.reflex-direction-column {
-webkit-flex-direction: column;
flex-direction: column;
}
.reflex-direction-column-reverse {
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.reflex-align-start {
-webkit-align-items: flex-start;
align-items: flex-start;
}
.reflex-align-end {
-webkit-align-items: flex-end;
align-items: flex-end;
}
.reflex-align-end [class*="reflex-col-"] {
vertical-align: bottom;
}
.reflex-align-center {
-webkit-align-items: center;
align-items: center;
}
.reflex-align-center [class*="reflex-col-"] {
vertical-align: middle;
}
.reflex-align-baseline {
-webkit-align-items: baseline;
align-items: baseline;
}
.reflex-align-baseline [class*="reflex-col-"] {
vertical-align: baseline;
}
.reflex-align-content-start {
-webkit-align-content: flex-start;
align-content: flex-start;
}
.reflex-align-content-end {
-webkit-align-content: flex-end;
align-content: flex-end;
}
.reflex-align-content-end [class*="reflex-col-"] {
vertical-align: bottom;
}
.reflex-align-content-center {
-webkit-align-content: center;
align-content: center;
}
.reflex-align-content-space-between {
-webkit-align-content: space-between;
align-content: space-between;
}
.reflex-align-content-space-around {
-webkit-align-content: space-around;
align-content: space-around;
}
.reflex-align-self-stretch {
-webkit-align-self: stretch;
align-self: stretch;
}
.reflex-align-self-start {
-webkit-align-self: flex-start;
align-self: flex-start;
}
.reflex-align-self-end {
-webkit-align-self: flex-end;
align-self: flex-end;
vertical-align: bottom;
}
.reflex-align-self-center {
-webkit-align-self: center;
align-self: center;
vertical-align: middle;
}
.reflex-align-self-baseline {
-webkit-align-self: baseline;
align-self: baseline;
vertical-align: baseline;
}
.reflex-justify-start {
text-align: left;
-webkit-justify-content: flex-start;
justify-content: flex-start;
}
.reflex-justify-end {
text-align: right;
-webkit-justify-content: flex-end;
justify-content: flex-end;
}
.reflex-justify-center {
text-align: center;
-webkit-justify-content: center;
justify-content: center;
}
.reflex-justify-space-between {
text-align: justify;
-moz-text-align-last: justify;
text-align-last: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.reflex-justify-space-around {
text-align: justify;
-moz-text-align-last: justify;
text-align-last: justify;
-webkit-justify-content: space-around;
justify-content: space-around;
}
.reflex-item-margin-sm {
margin: 0 0.25em 0.5em;
}
.reflex-item-margin-md {
margin: 0 0.5em 1em;
}
.reflex-item-margin-lg {
margin: 0 1em 2em;
}
.reflex-item-content-margin-sm * {
margin-right: 0.25em;
margin-left: 0.25em;
}
.reflex-item-content-margin-md * {
margin-right: 0.5em;
margin-left: 0.25em;
}
.reflex-item-content-margin-lg * {
margin-right: 1em;
margin-left: 1em;
}
.reflex-img {
display: inline-block;
display: -webkit-flex;
display: flex;
zoom: 1;
*display: inline;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
margin-left: 0;
margin-right: 0;
max-width: 100%;
width: 100%;
height: auto;
}
.reflex-item-footer {
margin-top: auto;
margin-left: 0;
margin-right: 0;
}
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="reflex-container reflex-wrap">
<div class="reflex-col-xs-12 reflex-col-sm-4 panel" style="background-color: red">
some content
</div>
<div class="reflex-col-xs-6 reflex-col-sm-4 panel" style="background-color: yellow">
kittenz
<img src="http://upload.wikimedia.org/wikipedia/en/1/13/Matrona.jpg">
</div>
<div class="reflex-col-xs-6 reflex-col-sm-4 panel" style="background-color: blue">
some more content
</div>
</div>
Berikut ini adalah metode saya, saya telah menggunakan flex dengan beberapa perubahan di media query.
@media (min-width: 0px) and (max-width: 767px) {
.fsi-row-xs-level {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.fsi-row-sm-level {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.fsi-row-md-level {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
}
@media (min-width: 1200px) {
.fsi-row-lg-level {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
}
kemudian ditambahkan kelas-kelas untuk orang tua yang diminta.
<div class="row fsi-row-lg-level fsi-row-md-level">
<div class="col-sm-4">column 1</div>
<div class="col-sm-4">column 2</div>
<div class="col-sm-4">column 3</div>
</div>
Saya menggunakan responsif breakpoints karena fluks biasanya menghambat bootstrap standar responsif alam.
Saya mencari solusi untuk masalah yang sama, dan menemukan satu hanya bekerja !! - dengan hampir tidak ada kode tambahan..
lihat https://medium.com/wdstack/bootstrap-equal-height-columns-d07bc934eb27 untuk disuccuion, dan dengan resposne yang anda inginkan di bawah, dengan link.
https://www.codeply.com/go/EskIjvun4B
ini adalah benar responsif cara untuk me... kutipan: ... 3 — Gunakan flexbox (terbaik!)
Sebagai 2017, yang terbaik (dan termudah) cara untuk membuat sama tinggi kolom dalam desain responsif adalah menggunakan CSS3 flexbox.
.row.display-flex {
display: flex;
flex-wrap: wrap;
}
.row.display-flex > [class*='col-'] {
display: flex;
flex-direction: column;
}
dan hanya menggunakan:
div class="container">
<div class="row display-flex .... etc..