34 votes

Pourquoi voudriez-vous utiliser une largeur HTML / CSS de 99,9% au lieu de 100%?

J'ai vu beaucoup de développeurs d'écrire du HTML ou du CSS inline style largeurs de 99,9% dans des endroits où je voudrais l'utiliser à 100%. Est-il une raison valable pour l'utilisation de 99.9%? A-t-elle être efficace, toute 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 l' dirty hack vous devez utiliser à 99,99%, personne ne s'en désaccord?

Références Supplémentaires:

38voto

Andrew Dunn Points 7465

L' hasLayout de la propriété

C'est un sale hack utilisé pour définir l'IE hasLayout de la propriété de l'élément de vrai. L' hasLayout propriété "détermine la façon dont les éléments de tirage et lié à leur contenu, interagir avec et de le rapporter à d'autres éléments, et de réagir et de transmettre de l'application/les événements de l'utilisateur." Donner un élément layout est un moyen facile de résoudre de nombreux disposition des bogues qui s'affiche dans Internet Explorer.

Qu'est-ce 99,9%?

Réglage de la largeur de 99.9% est une façon de le déclencher. La raison pour laquelle vous avez l'utilisation de 99.9% est parce que la disposition est accordée à un élément si son width est réglé sur autre chose que de l' auto. Un réglage à un pourcentage empêche la nécessité d'utiliser une largeur fixe.

Après quelques tests en jsFiddle, je suis venu à la conclusion que ce n'est vraiment pas nécessaire d'utiliser une largeur de 99,9%, à l'aide d'une largeur de 100% est tout aussi efficace. http://jsfiddle.net/3qfjW/2/ (IE Uniquement). Il semble que le paramètre width à 99,9% de mai ont été un malentendu commun qui a collé.. la diffusion de la parole des gens.

D'autres méthodes

Vous pouvez également déclencher hasLayout l'aide zoom: 1; Alors que c'est la méthode préférée pour beaucoup, car on ne plaisante pas avec les autres style liés à des caractéristiques d'un élément, il est également invalide code CSS, ce qui n'est pas une option pour l'utilisation de certains développeurs.


Lectures Complémentaires

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

Pour plus d'informations sur l' hasLayout propriété consultez l'article MSDN sur hasLayout http://msdn.microsoft.com/en-us/library/bb250481(SV.85).aspx (C'est en fait une excellente lecture, de nombreuses informations détaillées)

3voto

meder Points 81864

C'est vrai, width de rien, mais auto et zoom déclencheur hasLayout, et zoom est le plus souple de propriété/valeur car il ne plaisante pas avec la largeur mais je ne pense pas que c'est la raison pour laquelle vous avez vu les développeurs d'utilisation de 99.9%.

Dans certains flottante cas, il est nécessaire que la largeur combinée des flotteurs ne pas ajouter jusqu'à 100% ( si spécifié dans les pourcentages ) parce que IE6 calcule de manière incorrecte que, comme au-delà de 100%, et généralement, le dernier flotteur sera en baisse.

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

J'ai documenté le bug ici. Donc, s'il est lié ou pas à ce que vous avez été voir, j'espère que le bug de lien vous aide faire l'expérience.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X