Max Glenister repasa en este ensayo los hacks de CSS que dominaron el desarrollo web durante la era de Internet Explorer 5, 6 y 7, cuando conseguir un diseño coherente entre navegadores exigía explotar errores del analizador sintáctico. El texto arranca con la solución "civilizada" de HTML5 Boilerplate: clases condicionales en la etiqueta que permitían escribir reglas CSS normales por versión de IE, vigentes hasta su retirada en la versión 5.0 de febrero de 2015. Antes de eso, los desarrolladores recurrían a trucos como el selector * html (aprovechando un elemento fantasma que solo IE6 reconocía sobre ), los hacks de subrayado y asterisco (que IE procesaba pero el resto descartaba), el sufijo \9 (tolerado por IE8 y, de forma impredecible, por versiones posteriores) y el box model hack de Tantek Çelik, que en 2001 logró que IE5/Mac y los demás navegadores aplicaran anchos distintos con un valor de voice-family que solo IE5/Win malinterpretaba. Glenister recuerda también la técnica clearfix con zoom: 1, cuya eficacia en IE6 e IE7 se debía a la bandera interna hasLayout del motor Trident, responsable, según un artículo de la época, de alrededor del 80 % de losbugs de IE. Para terminar, aborda la falta de soporte de PNG con transparencia alfa en IE6 y los filtros propietarios AlphaImageLoader y behavior: url() de Microsoft, soluciones costosas en rendimiento. El conjunto ilustra por qué el front-end dependió durante años de exploits de implementación hasta que los navegadores modernos y los resets de estilos los hicieron innecesarios.
CSS obsoleto y por qué lo necesitábamos
Fuentes:
Antiquated CSS and why we needed it
