A engenhosidade dos hacks em HTML
- Necessidade dos hacks em HTML: em alguns casos, por falhas no código HTML ou por implementações incompletas dos navegadores, era preciso escrever código nada elegante para obter o resultado esperado. Esses hacks às vezes eram criativos e dignos de ser lembrados.
- Hack do
@import no Netscape Navigator 4.0: permitia bloquear estilos CSS que o Netscape não suportava. O Netscape defendia JSSS em vez de CSS, mas quando o W3C escolheu CSS, a implementação de CSS no Netscape 4 foi apressada, o que a tornou inferior em comparação com navegadores posteriores.
- Uso de tabelas HTML para layout: possibilitou layouts mais experimentais. Usar tabelas HTML como ferramenta de layout é a própria definição de hack, e isso ainda é usado no mundo dos e-mails.
- Uso de sublinhado antes de estilos CSS: fazia com que certos estilos fossem aplicados apenas ao IE6. Explorava as limitações do IE ao fazer parsing de caracteres especiais.
- Uso do AlphaImageLoader para oferecer transparência em PNG: renderizava a transparência de arquivos PNG, algo que o IE6 não suportava. A imagem era processada por meio de um filtro.
- Comentários condicionais: permitiam usar certos truques apenas em versões específicas do IE. Alteravam o funcionamento do recurso de comentários HTML para possibilitar a execução de código.
- Scalable Inman Flash Replacement (sIFR): permitia usar fontes que não eram web-safe. Usava um hack em JavaScript que substituía o texto por uma incorporação em Flash.
- Hack do texto de preheader: evitava que texto adicional em e-mails vazasse para a linha de descrição. Usava uma sequência não padronizada ou incomum de caracteres de espaço em branco.
- Google Chrome Frame: substituía o IE6 por uma janela do Chrome. Era implementado por meio de um plugin de navegador.
- Hack de seletor exclusivo do Webkit: aplicava código CSS apenas a navegadores Webkit. Detectava se um navegador específico suportava determinado código CSS.
- Design responsivo: organiza informações de forma eficiente em várias configurações, especialmente em tablets e dispositivos móveis. Na maioria dos casos, usa media queries para dispor as informações de acordo com o dispositivo.
Opinião do GN⁺
- O mais importante é o esforço dos desenvolvedores para encontrar soluções criativas fora dos padrões de HTML e CSS.
- O texto é interessante e envolvente ao mostrar como desenvolvedores web usaram hacks criativos para superar as limitações dos navegadores e melhorar a experiência do usuário.
- Esses hacks refletem a evolução dos padrões web e o esforço contínuo dos desenvolvedores por um web design melhor.
1 comentários
Comentários do Hacker News
Dá para entender o uso de tabelas para layout.
Falta respeito pelo
spacer.gif.Técnicas favoritas:
O HN ainda usa uma dessas técnicas até hoje:
Não inclui esconder títulos para acessibilidade posicionando-os em -10000 para que não apareçam na tela.
Não há menção a instalar o HTML5 shiv antes do CSS para eliminar as peculiaridades de todos os navegadores.
Lembro dos bons velhos tempos em que se usava um gif transparente de 1×1 pixel para controlar células de tabelas.
Menção adicional ao amplamente usado
nos primórdios, ou seja, a entidade de caractere de espaço não separável:Às vezes é difícil dizer se os desenvolvedores web modernos ficaram mal-acostumados por causa do CSS Grid e do fim do IE, ou se naquela época é que eram mal-acostumados por não terem de lidar com frameworks modernos complexos e processos de build.
Dúvida sobre se design responsivo é mesmo um hack: