Depuis que cette question a été posée en 2012 et nous avons parcouru un long chemin avec la prise en charge du navigateur pour flexboxes, je me sentais comme si cette réponse était obligatoire.
Si l'écran de votre conteneur parent est - flex
, alors oui, margin: auto auto
travaillera pour le centrer horizontalement et verticalement, peu importe si c'est un inline
ou block
élément.
Exemple de code HTML:
<div id="parent">
<div id="child">hello world</div>
</div>
Exemple de CSS:
#parent {
width: 200px;
height: 200px;
display: flex;
}
#child {
margin: auto;
}
Notez que la largeur/hauteur n'ont pas à être spécifié absolument, comme dans cet exemple jfiddle qui utilise le dimensionnement par rapport à la fenêtre d'affichage.
Bien que la prise en charge du navigateur pour flexboxes est au plus haut de tous les temps au moment de la publication, de nombreux navigateurs ne prennent pas en charge ou d'exiger du fournisseur de préfixes. Reportez-vous à http://caniuse.com/flexbox pour la mise à jour du navigateur des informations de support.