Pourquoi le code suivant ne fonctionne-t-il pas dans IE10?
.foo {
display: -ms-flex;
-ms-justify-content: center;
}
De quoi ai-je besoin pour écrire afin qu'ils fonctionnent?
IE10 a implémenté le projet Flexbox de mars 2012 . Ces propriétés correspondent à celles-ci:
.foo {
display: -ms-flexbox;
-ms-flex-pack: center;
}
Un bon point de départ pour essayer d'obtenir la bonne syntaxe pour tous les navigateurs est http://the-echoplex.net/flexyboxes/
Pour centrer des éléments horizontalement et verticalement dans un conteneur, vous obtiendrez du code comme ceci: (fonctionnant dans Chrome, FF, Opera 12.1+ et IE 10+)
<div class="flex-container">
<div class="flex-item">A</div>
<div class="flex-item">B</div>
<div class="flex-item">C</div>
</div>
.flex-container {
height: 100%;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-direction: normal;
-moz-box-direction: normal;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-moz-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-content: stretch;
-ms-flex-line-pack: stretch;
align-content: stretch;
-webkit-box-align: center;
-moz-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-item
{
width: 100px;
height:100px;
background: brown;
margin: 0 10px;
}
/*
Legacy Firefox implementation treats all flex containers
as inline-block elements.
*/
@-moz-document url-prefix() {
.flex-container {
width: 100%;
-moz-box-sizing: border-box;
}
}