2013-06-06 25 views
7

Ich habe meine Center-Ausrichtung funktioniert in allen Browsern, die es abgesehen von IE10 unterstützt. Ich denke, dass ich die Syntax korrekt habe und dass sie es unterstützt. Könnte jemand helfen? DEMOVertikale Ausrichtung - IE10 Flex-Box funktioniert nicht

html { 
    height: 100%; 
} 
body { 
    background: red; 
    font-family: 'Open Sans'; 
    min-height: 100%; 
    width: 100%; 
    display: -webkit-box; 
    -webkit-box-orient: horizontal; 
    -webkit-box-pack: center; 
    -webkit-box-align: center; 
    display: -moz-box; 
    -moz-box-orient: horizontal; 
    -moz-box-pack: center; 
    -moz-box-align: center; 
    display: -ms-flexbox; 
    -ms-box-orient: horizontal; 
    -ms-box-pack: center; 
    -ms-box-align: center; 
    display: box; 
    box-orient: horizontal; 
    box-pack: center; 
    box-align: center; 
    text-align: center; 
} 
.box { 
    background: none repeat scroll 0 0 #E7F3FF; 
    border: 4px solid #FFFFFF; 
    border-radius: 16px 16px 16px 16px; 
    box-shadow: 0 2px 2px rgba(1, 1, 1, 0.2); 
    color: #054B98; 
    height: 620px; 
    margin: 0 auto 20px; 
    position: relative; 
    width: 930px; 
} 
+0

Btw, Sie müssen keine Zeilen-/horizontale Richtung angeben, es sei denn, Sie überschreiben vorher eine andere vertikale/vertikale Richtung. Zeile/horizontal ist der Standardwert. – cimmanon

Antwort

12

Sie haben das Recht Anzeigewert, aber alle anderen Flexbox Eigenschaften sind Sie verwenden falsch. Die richtige Übersetzung so sein würde:

body { 
    background: red; 
    font-family: 'Open Sans'; 
    min-height: 100%; 
    width: 100%; 

    display: -webkit-box; 
    display: -moz-box; 
    display: -ms-flexbox; 
    display: -webkit-flex; 
    display: flex; 

    -webkit-box-pack: center; 
    -moz-box-pack: center; 
    -ms-flex-pack: center; 
    -webkit-justify-content: center; 
    justify-content: center; 

    -webkit-box-align: center; 
    -moz-box-align: center; 
    -ms-flex-line-pack: center; 
    -webkit-align-content: center; 
    align-content: center; 
} 

Wenn Sie jedoch Flexbox für vertikale Ausrichtung Zwecke verwenden, könnte dies sein, was Sie benötigen statt:

body { 
    background: red; 
    font-family: 'Open Sans'; 
    min-height: 100%; 
    width: 100%; 

    display: -webkit-box; 
    display: -moz-box; 
    display: -ms-flexbox; 
    display: -webkit-flex; 
    display: flex; 

    -webkit-box-pack: center; 
    -moz-box-pack: center; 
    -ms-flex-pack: center; 
    -webkit-justify-content: center; 
    justify-content: center; 

    -webkit-box-align: center; 
    -moz-box-align: center; 

    -ms-flex-align: center; 
    -webkit-align-items: center; 
    align-items: center; 
} 

Beachten Sie, dass Box-align und flex-align/align-items sind nicht äquivalente Eigenschaften, aber sie führen die gleiche Aufgabe hier aus.

+1

Ich musste Höhe hinzufügen: 100% statt Min-Höhe, da es nicht funktionierte. Jetzt ist es in IE gut, aber in Firefox habe ich einen imaginären 8px oberen Rand auf dem Körper. Ich habe ein Reset auf meinem Projekt, also weiß ich nicht, wo das herkommen könnte – 2ne

+1

Es ist ein Firefox-Bug – 2ne