Question

J'ai vu beaucoup de développeurs à écrire des largeurs de style en ligne HTML ou CSS de 99,9% dans des endroits où j'utiliser 100%. Y at-il une raison valable pour l'utilisation de 99,9%? At-il une réelle différence de 100%?

EDIT pour retweet MSalters' très bonne question: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%? Je suppose qu'il a raison, que si vous allez avec le dirty hack vous devez utiliser 99,99%, personne ne désaccord

Références supplémentaires:

Était-ce utile?

La solution

La propriété hasLayout

Il est un hack sale utilisé pour définir la propriété hasLayout spécifique IE de l'élément à true. La propriété hasLayout « détermine comment les éléments liés dessiner et leur contenu, d'interagir avec et se rapportent à d'autres éléments, et réagir et événements de l'application d'émission / utilisateur. » Donner un layout élément est un moyen facile de résoudre de nombreux bogues liés à mise en page qui apparaissent dans Internet Explorer.

Qu'est-ce qui est avec 99,9%?

Réglage de la largeur à 99,9% est un moyen de déclencher. La raison pour laquelle vous utiliseriez 99,9% est parce que la mise en page est donnée à un élément si son width est réglé sur autre chose que auto. Réglage à un pourcentage empêche la nécessité d'utiliser une largeur fixe.

Après quelques essais jsFiddle, je suis venu à la conclusion qu'il est vraiment pas nécessaire d'utiliser une largeur de 99,9%, en utilisant une largeur de 100% est tout aussi efficace. http://jsfiddle.net/3qfjW/2/ (IE-Only). Il semble que l'établissement width à 99,9% peut avoir été un idée fausse commune qui a collé .. Étaler le mot peuple.

Autres méthodes

Vous pouvez également déclencher hasLayout utiliser zoom: 1; Bien que ce soit la méthode préférée pour beaucoup, car il ne plaisante pas avec d'autres fonctions liées au style d'un élément, il est également le code CSS valide, qui n'est pas une option à utiliser pour certains les développeurs.


Lectures

Pour plus de méthodes pour déclencher hasLayout consulter: http://www.satzansatz.de/cssd /onhavinglayout.html

Pour plus d'informations sur le chèque de propriété hasLayout sur l'article MSDN sur hasLayout http://msdn.microsoft.com/en-us/library/bb250481 (VS.85) .aspx (Ceci est en fait une excellente lecture, beaucoup d'informations détaillées)

Autres conseils

Il est vrai width de quoi que ce soit, mais auto et zoom déclencheur hasLayout et zoom est la propriété / valeur plus flexible puisqu'elle ne je ne pense pas plaisante pas avec la largeur mais c'est la raison pour laquelle vous avez vu les développeurs utilisent 99,9% .

Dans certains cas flottants, il est nécessaire que la largeur combinée des flotteurs ne correspond pas à 100% (si cela est spécifié en pourcentage) car IE6 calcule de manière incorrecte que au-delà de 100% et le plus souvent ce dernier flotteur tombe.

La solution consiste à spécifier soit une marge de droite -1px juste pour IE ou de faire la somme de 99,99%.

J'ai documenté le bug . Donc, si elle est liée ou non à ce que vous voyez, espérons que le lien de bogue aide tout le monde l'expérience.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top