Maison  >  Article  >  interface Web  >  Pourquoi le texte du bouton est-il centré verticalement par défaut, mais pas le texte Div ?

Pourquoi le texte du bouton est-il centré verticalement par défaut, mais pas le texte Div ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 12:06:02837parcourir

Why is Button Text Vertically Centered by Default, but Div Text Isn't?

Comprendre l'alignement vertical du texte des boutons

Considérez le balisage HTML et les styles CSS suivants :

<code class="html"><button class="button">Some Text</button>
<div class="button">Some Text</div></code>
<code class="css">.button {
  background: darkgrey;
  height: 40px;
  border: 2px solid grey;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  font-family: helvetica;
  text-align: center;
  margin-bottom: 20px;
}</code>

Lorsque vous appliquez ces styles, vous remarquez que le texte à l'intérieur du est aligné verticalement, alors que le texte dans l'élément

ne l'est pas.

La magie mystérieuse

Par défaut, les éléments ont un élément intégré appelé moz-button-content. Cet élément n'est pas accessible via CSS et affiche un bloc, héritant de la hauteur du bouton. Cependant, le code interne du navigateur contient une règle codée en dur qui positionne le contenu du bouton verticalement au milieu de l'élément moz-button-content.

Centrer le texte dans un Div

Le -webkit-box-align ne fonctionne pas pour centrer le texte dans un fichier

parce que
les éléments n'ont pas d'élément intégré comme moz-button-content. Pour centrer le texte dans un
, vous pouvez utiliser une hauteur de ligne égale à la hauteur du div.

Conclusion

Le centrage vertical du texte dans