2016-04-13 22 views
1

Son zamanlarda büyüyecek. Son zamanlarda CSS'de esneklik ile uğraştım. Amacım, eşit yüksekliğe sahip çeşitli sütunlar içeren bir düzen oluşturmak ve içeriğin eşit aralıklarla yerleştirilmesiydi. Ben ancak Chrome'da Firefox'ta çalışmaktadır çözümü (hatalı davranışı ile asgari örnek) bulunan:flex div, Chrome

HTML:

<div class="row"> 
    <div class="col-sm-6"> 
    <div> 
     <div class="item"> 
     Content 
     </div> 
     <div class="item"> 
     Content 
     </div> 
     <div class="item"> 
     Content 
     </div> 
    </div> 
    </div> 
    <div class="col-sm-6"> 
    <div> 
     <div class="item"> 
     Content 
     </div> 
     <div class="item"> 
     Content 
     </div> 
     <div class="item"> 
     Content 
     </div> 
     <div class="item"> 
     Content 
     </div> 
    </div> 
    </div> 
</div> 

SCSS (autoprefixed alır):

.row { 
    display: flex; 
    flex-flow: row wrap; 

    .col-sm-6 > div { 
    display: flex; 
    flex-flow: column nowrap; 
    justify-content: space-between; 
    height: 100%; 

    .item { 
     height: 20px; 
     text-align: center; 
     background-color: red; 
     margin: 2px; 
    } 
    } 
} 

bu jsfiddle bakınız:

: https://jsfiddle.net/zn463f1j/

İşte iki tarayıcılar aynı fiddle hale nasıl görüntülerdir

Firefox (nasıl olmalı): Firefox

Krom: Chrome

Benim soru ben her iki tarayıcılarda çalışan almak için, Remov veya değişikliği eklemem gerekiyor ne stilleri olduğunu.

Aşağıdaki CSS'yi denedim ancak bu, firefox'un Chrome gibi görüntülemesine neden oldu. 'un 100%'dan auto'a değiştirilmesi, kodun yine Firefox'ta çalışmasını sağladı, ancak yine de Chrome'da değil.

.row .col-sm-6 { 
    height: 100%; 
} 
+0

related: [Chrome ve Firefox'ta Farklı Rendering Heights] (http://stackoverflow.com/a/35537510/3597276) –

cevap

2

İşte cevabı. Kodu kontrol edin ve sonuç aşağıda.

Sonuç:

enter image description here

.row { 
 
    display: flex; 
 
} 
 
.row .col-sm-6 { 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 
.row .col-sm-6 > div { 
 
    display: flex; 
 
    flex: 1; 
 
    flex-direction: column; 
 
    justify-content: space-between; 
 
} 
 
.row .col-sm-6 > div .item { 
 
    height: 20px; 
 
    text-align: center; 
 
    background-color: red; 
 
    margin: 2px; 
 
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> 
 

 
<div class="row"> 
 
    <div class="col-sm-6"> 
 
    <div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
    </div> 
 
    </div> 
 
    <div class="col-sm-6"> 
 
    <div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
     <div class="item"> 
 
     Content 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>