“vertical-align: middle” ne correspond pas à la moyenne dans Firefox
Je suis en train d'aligner du texte de différentes tailles à la verticale, cependant, Firefox affiche le texte plus petit de manière au-dessus de la moyenne.
CSS:
div.categoryLinks {
margin: 1em 16px;
padding: 0 4px;
border-width: 1px 0;
border-style: solid;
border-color: #ece754;
background: #f7f5b7;
color: #a49f1c;
text-align: center;
font-size: 1.4em;
}
div.categoryLinks em {
font-size: 0.6em;
font-style: normal;
vertical-align: middle;
}
HTML:
<div class="categoryLinks">
<em>SECTION:</em>
Page One ·
Page Two ·
<a href="link">Page Three</a>
</div>
Capture d'écran:
(source: doheth.co.royaume-uni)
Mise à JOUR: juste pour être clair, j'en suis conscient, plus ou moins comment vertical-align
œuvres, c'est à dire que je connais déjà les idées fausses les plus courantes.
De plus d'une enquête, il semble que la façon la plus simple de résoudre ce problème consiste à envelopper le texte plus grand dans un span
et définir vertical-align
sur que trop. Les deux enfants de .categoryLinks
puis aligner les uns par rapport aux autres. Sauf si quelqu'un peut montrer une meilleure façon de le faire sans balisage?
- Double Possible de Comment Vertical aligner les éléments dans un div?
Vous devez vous connecter pour publier un commentaire.
Vertical align ne fonctionne comme prévu sur les cellules d'un tableau ou inline-block éléments. Si vous voulez plus d'informations je vous conseille de lire La compréhension vertical-align, ou "Comment (ne Pas) à la Verticale du Centre de Contenu".
Edit: Vous avez autre chose parce que cela fonctionne pour moi sur Firefox. J'ai même abandonné la taille de la police de la SECTION: droit vers le bas et c'est toujours centré. Avez-vous utilisé Firebug pour voir ce que les autres CSS est l'affectent?
Cela fonctionne est:
Remarque: section de la taille de la police changé à 0,4 em à partir de l'original 0.6 em à souligner.
display:table-cell
mais je ne suis pas sûr de ce que la prise en charge du navigateur est pour.vertical-align
travaille également sur des éléments avecdisplay:inline:block
. Donc, la première déclaration "Vertical align ne fonctionne comme prévu sur les cellules d'un tableau." est faux.Firefox est rendu correctement. Le vertical-align propriété est sur la ligne, ce qui signifie qu'il ne s'applique pas aux éléments de bloc comme <div> (et <p>, etc). Essayez d'ajouter display: inline et voir si cela fonctionne.
Vertical align est supposé s'appliquer à inline-block éléments ( je pense que les images sont les seules choses qui ont cette propriété de présentation par défaut), afin de l'utiliser pour positionner un élément inline, tout d'abord la transformer en une ligne de bloc, vous pouvez utiliser la marge et le remplissage de position similaire à la façon dont vous woudl un bloc normal élément:
Vous avez à ruser un peu pour firefox 2 bien, mais c'est parce que d'une raer exemple de firefox ne supportant pas les standards du web. D'autre part, il ne pouvait pas s'embêter avec le tweak que peu de personnes utilisent encore ffx2, et c'est seulement une très mineur défaut de conception.
Je fixe cette questions, juste en supprimant:
du div parent.
Je ne sais pas pourquoi mais avec cette règle ajoutée, Firefox ne s'applique pas à l':
J'ai eu le même problème. Cela fonctionne pour moi: