¿Por qué utilizar un HTML / CSS anchura de 99,9% en vez del 100%?
Pregunta
he visto muchos desarrolladores que escriben HTML o CSS anchos de estilo en línea de 99,9% en los lugares donde me gustaría utilizar el 100%. ¿Hay alguna razón válida para el uso de 99,9%? ¿Tiene alguna diferencia efectiva de 100%?
EDITAR para MSalters de retweet muy buena pregunta:? Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%?
supongo que tiene razón, que si vas con la dirty hack
se debe utilizar un 99,99%, ¿alguien está en desacuerdo
Referencias adicionales:
- El comentario de @ Michael Stum sobre la propiedad CSS zoom me llevó a este enlace interesante de activación hasLayout con
zoom
: http://www.bennadel.com/blog/1354-The-Power-Of-ZOOM-Fixing-CSS-Issues-In -Internet-Explorer.htm . - @ Andrew Dunn ofreció este enlace increíblemente amplia sobre hasLayout: http://www.satzansatz.de /cssd/onhavinglayout.html
Solución
La propiedad hasLayout
Es un truco sucio utilizado para establecer la propiedad específica hasLayout
IE del elemento de verdad. La propiedad hasLayout
"determina cómo los elementos atraen y se unen a su contenido, interactúan y se relacionan con otros elementos, y reaccionan en los eventos de transmisión y aplicación / usuario." Dando una layout
elemento es una manera fácil de corregir errores relacionados con el diseño que aparecen en Internet Explorer.
¿Qué pasa con el 99,9%?
Configuración de la anchura a 99,9% es una manera de desencadenar ella. La razón por la que usaría el 99,9% se debe a que el diseño se le da a un elemento si su width
se establece un valor distinto de auto
nada. Si se establece en un porcentaje evita la necesidad de utilizar un ancho fijo.
Después de algunas pruebas en jsFiddle, he llegado a la conclusión de que en realidad no es necesario utilizar un ancho de 99,9%, utilizando un ancho de 100% es igual de eficaz. http://jsfiddle.net/3qfjW/2/ (IE-Only). Parece que la fijación de width
a 99,9% puede haber sido un error común que se pegó .. Extender la palabra pueblo.
Otros métodos
También puede hasLayout
disparador en el zoom: 1;
Si bien este es el método preferido para muchos, ya que no pierde el tiempo con otras características relacionadas con el estilo de un elemento, también es válido el código CSS, lo cual no es una opción para el uso por alguna desarrolladores.
Lectura adicional
Para obtener más métodos para hasLayout
gatillo de salida: http://www.satzansatz.de/cssd /onhavinglayout.html
Para obtener más información sobre la comprobación de la propiedad hasLayout
el artículo de MSDN en hasLayout
http://msdn.microsoft.com/en-us/library/bb250481 (VS.85) .aspx (Esto es en realidad una gran lectura, una gran cantidad de información detallada)
Otros consejos
Es cierto width
de cualquier cosa menos auto
y el gatillo zoom
hasLayout y zoom
es el más flexible de propiedad / valor, ya que no pierde el tiempo con el ancho, pero no creo que esa es la razón por la que viste de los desarrolladores utilizan el 99,9% .
En ciertos casos flotantes es necesario que la anchura combinada de los flotadores no añadir hasta 100% (si se especifica en porcentajes) porque IE6 calcula incorrectamente que a medida que más allá de 100% y por lo general cae este último flotador.
La solución es especificar un margen derecho 1px sólo para IE o hacer que la suma del 99,99%.
Me han documentado el error aquí . Así que si está relacionado o no con lo que estaban viendo, espero que el enlace de errores ayuda a cualquier persona que lo experimenta.