IE et Chrome calcul CSS padding différemment
J'ai le texte suivant le CSS et le HTML:
.TestPadding{
width:29px;
text-align:center;
height:18px;
padding:3px 0px 2px 0px;
margin:2px 1px;
font-family:Trebuchet MS;
font-weight:bold;
font-size:13px;
border:2px solid black;
float:left;}
<div class="TestPadding">1</div>
<div class="TestPadding">2</div>
<div class="TestPadding">3</div>
<div class="TestPadding">4</div>
<div class="TestPadding">5</div>
<div class="TestPadding">6</div>
<div class="TestPadding">7</div>
<div class="TestPadding">8</div>
<div class="TestPadding">9</div>
<div class="TestPadding">10</div>
Le problème, c'est que le rendu est différent dans IE et Chrome. Voici à quoi il ressemble:
Chrome est sur le dessus et c'est à dire sur le fond. Sur IE, les chiffres ne regarde pas alignés verticalement. J'ai essayé de faire toutes sortes de combinaisons sur le CSS mais aucun m'ont donné un uniforme de l'alignement vertical et de dimensionnement.
Si vous voulez l'essayer, il y a un **tripoter ici.**
Grâce.
Ils sont le calcul de la marge correctement. Les boîtes sont de l'égalité des largeurs et des hauteurs. Pourquoi le texte n'est pas aligné la même sur les deux navigateurs est peut-être un autre problème.
Avez-vous essayé d'utiliser un CSS reset? Il va se débarrasser de nombreuses incohérences entre les navigateurs. Il sera probablement enlever un peu de CSS par défaut, vous assumez seront là, mais c'est juste une question de mettre les dos. Totalement en vaut la chandelle, et encore plus efficace lorsque vous démarrez votre projet avec eux.
Avez-vous essayé d'utiliser un CSS reset? Il va se débarrasser de nombreuses incohérences entre les navigateurs. Il sera probablement enlever un peu de CSS par défaut, vous assumez seront là, mais c'est juste une question de mettre les dos. Totalement en vaut la chandelle, et encore plus efficace lorsque vous démarrez votre projet avec eux.
OriginalL'auteur frenchie | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
line-height:18px;
verticale et pas de padding (padding:0 2px;
).Je suis content d'avoir pu aider! 🙂 Bonne chance!
OriginalL'auteur Sorin Buturugeanu
Vous pouvez toujours utiliser un peu de IE hack:
_padding-top:4px
(par exemple)Si vous choisissez d'aller en bas de l'IE hack root, voici comment appliquer les différentes versions d'IE:
padding-top:4px\9;
- IE8 et ci-dessous*padding-top:4px;
- IE7 et ci-dessous_padding-top:4px;
- IE6Al
OriginalL'auteur Alex
Ne pas utiliser
padding
mais l'utilisationline-height
(préférable d'utiliser l'unitéem
) sur ladiv
s.En passant, je suggère que vous n'avez même pas utiliser
div
s, mais une liste (ul
largeurli
s).OriginalL'auteur Frank van Wijk
Ils sont correctement milieu aligné dans IE. Essayez d'ajouter un
q
dans l'une des cases, et vous verrez exactement ce que je veux dire.Vous pouvez "fix" et pour obtenir de google Chrome en ajoutant:
line-height: 18px;
.OriginalL'auteur Niet the Dark Absol
C'est parce que Chrome et IE ont des valeurs différentes pour défaut
line-height
.Définir la
line-height
à19px
et il devrait aligner verticalement dans les deux navigateursOriginalL'auteur danwellman