8
votes

Comment garder le texte à l'intérieur d'un div, toujours au milieu?

J'essaie de rendre le texte rester au milieu d'une div. Div. Voici l'exemple:

CSS xxx

html xxx

J'ai essayé de faire une classe pour contenir la classe Texte avec le "marge-haut et marge-bas" à la fois sur Auto, mais ne fonctionne pas.


1 commentaires

Vous voulez dire que vous voulez que le texte soit centré verticalement? Grâce à l'intelligence infinie de la W3C, il est impossible avec Standard CSS et nécessite plusieurs hacks, contours de contournement et balise supplémentaire.


5 Réponses :


15
votes

Si vous ne vous souciez pas du support IE7, vous pouvez le faire comme ça:

HTML: P>

#wrap {
    /* Your styling. */
    position: absolute;
    z-index: 999999;
    right: 0;
    height: 60%;
    text-align: center;

    /* Solution part I. */
    display: table;
}

/* Solution part II. */
#inside {
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
}


1 commentaires

Parfait! Merci beaucoup! C'est exactement ce dont j'ai besoin et comme on s'attendait toujours à ce que c'est-à-dire d'avoir des problèmes .. lol. Merci mec.



0
votes

Si vous voulez que le texte soit centré horizontalement dans un div, "text-alignement: centre;" est votre ami. Si vous le voulez verticalement centrés; Enveloppez le contenu à l'intérieur d'une DIV intérieure, puis utilisez «Marge: auto» pour cette DIV intérieure. Bien sûr, vous devrez donner une largeur de la Div intérieure; Sinon, le centre horizontal ne fonctionnera pas.
'Valign = "Milieu" "fonctionne également dans des tables si des tables sont une option (sinon découragé)


0 commentaires

1
votes

Remplacer Hauteur: 60%; avec Rembourrage: 30% 0; .


0 commentaires

0
votes

Vérifiez si cela est nécessaire: xxx


0 commentaires

4
votes

flexbox a vraiment changé le jeu avec alignement éléments de manière fluide. Définissez votre élément de conteneur à être Affichage: flex code> puis pour aligner vos enfants internes, vous utiliseriez justify-content: centre; Align-items: Centre; Code>

.container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.parent {
    height: 500px;
    width: 500px;
    position: relative;
}


<div class="parent">
    <div class="container">
        <p>Hello</p>
        <p>World</p>
    </div>
</div>


1 commentaires

Affichage: Flex; Justify-Content: Centre; a fait le tour pour moi. Merci