J'ai une simple page web avec du contenu Lipsum centré sur la page. La page fonctionne bien dans Chrome et Firefox. Si je réduis la taille de la fenêtre, le contenu se remplit dans la fenêtre jusqu'à ce qu'il ne puisse plus le faire, puis ajoute une barre de défilement et remplit le contenu en dehors de l'écran, vers le bas.
Cependant, la page ne se centre pas dans IE11. Je peux centrer la page dans IE en flexibilisant le corps, mais si je le fais, le contenu commence à sortir de l'écran vers le haut et coupe le haut du contenu.
Voici les deux scénarios. Consultez les Fiddles associés. Si le problème n'est pas évident immédiatement, réduisez la taille de la fenêtre de résultat de sorte qu'elle soit forcée de générer une barre de défilement.
Note : Cette application cible uniquement les dernières versions de Firefox, Chrome et IE (IE11), qui ont tous un support pour la Recommandation de Flexbox, donc la compatibilité des fonctionnalités ne devrait pas être un problème (en théorie).
Éditer : Lors de l'utilisation de l'API plein écran pour mettre en plein écran la div externe, tous les navigateurs centrent correctement en utilisant le CSS d'origine. Cependant, en sortant du mode plein écran, IE revient à être centré horizontalement et aligné en haut verticalement.
Éditer : IE11 utilise une implémentation non spécifique au fournisseur de Flexbox. Mises à jour du modèle de mise en page flexible ("Flexbox")
Se centre et se redimensionne correctement dans Chrome/FF, ne se centre pas mais se redimensionne correctement dans IE11
Fiddle : http://jsfiddle.net/Dragonseer/3D6vw/
html, body
{
height: 100%;
width: 100%;
}
body
{
margin: 0;
}
.outer
{
min-width: 100%;
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.inner
{
width: 80%;
}
Se centre correctement partout, coupe le haut lorsqu'il est redimensionné
Fiddle : http://jsfiddle.net/Dragonseer/5CxAy/
html, body
{
height: 100%;
width: 100%;
}
body
{
margin: 0;
display: flex;
}
.outer
{
min-width: 100%;
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.inner
{
width: 80%;
}