- A propriedade CSS
zoom, introduzida no Internet Explorer no início dos anos 2000, se espalhou sem padronização e acabou gerando confusão entre desenvolvedores web
zoom era um recurso simples para ampliar/reduzir o tamanho de elementos, mas causava inconsistências entre navegadores e problemas de compatibilidade
- Depois, o CSS
transform surgiu como alternativa padrão, mas continuaram existindo casos em que as características de zoom, por afetarem o layout, eram necessárias
- Em pesquisas de uso,
zoom registrou uma alta popularidade exagerada, principalmente por causa do uso de zoom:1 como solução para contornar bugs do IE
- No fim, em 2023 o CSS Working Group criou uma nova especificação padrão e, com sua inclusão no projeto Interop 2025, o recurso passou a ter padronização e amplo suporte após 25 anos
O surgimento da propriedade zoom
- Em 2000, o
zoom, um recurso não padronizado, foi incluído no Internet Explorer 5.5 como uma propriedade capaz de ajustar a escala de elementos
zoom:2 ampliava em duas vezes, e zoom:0.1 reduzia para um décimo
- Tinha a característica de reorganizar também o layout ao redor conforme o tamanho do elemento mudava
- Mas, como não havia especificação oficial, cada navegador implementava o recurso de forma diferente, o que gerava confusão tanto para desenvolvedores quanto para usuários
- No começo, tinha um caráter mais decorativo e não impactava tanto a funcionalidade dos sites
Tentativas de padronização e reação dos navegadores
- A Mozilla, desde o início, priorizou a conformidade com padrões e ignorou
zoom, deixando-o de fora do Firefox
- Em vez disso, a propriedade CSS
transform surgiu para padronizar uma função semelhante
- Oferecia um controle mais poderoso e eficiente
- Porém, não afetava a disposição dos elementos vizinhos
- A Apple implementou tanto
transform quanto zoom no Safari, e as diferenças entre navegadores continuaram
- Como resultado,
zoom ficou nesse estado ambíguo: fora do padrão, mas ainda presente em alguns navegadores
Métricas de popularidade e mal-entendidos
- Bocoup e Mozilla investigaram a usabilidade de recursos dos navegadores usando pesquisas com desenvolvedores web, volume de buscas no MDN, menções no Stack Overflow, telemetria do Chrome e dados do HTTP Archive
- Ao contrário do esperado,
zoom apareceu entre os primeiros colocados, principalmente por causa do padrão de definir zoom:1 para contornar bugs do IE
- Quando o cálculo foi refeito excluindo o uso de
zoom:1, o uso total caiu 94%
- Por isso, a Mozilla decidiu priorizar melhorias em outros recursos antes de
zoom
Retorno e padronização
- No rastreador de bugs do Firefox, desenvolvedores continuaram defendendo a necessidade do comportamento de
zoom que afeta o layout
- Serviços importantes, como Microsoft Excel Web e o webapp móvel do Gmail, também dependiam desse recurso
- Em 2023, o CSS Working Group definiu uma nova especificação para
zoom, reduzindo problemas de compatibilidade e avançando na padronização
- Após ser adotado no projeto Interop 2025, o recurso passou a contar com suporte abrangente nos principais navegadores
Lições e conclusão
- Isso mostra que o processo de consenso dos padrões web é lento, mas oferece soluções inclusivas para desenvolvedores e usuários no mundo todo
- Também deixa a lição de que depender de tecnologias fechadas e não padronizadas é arriscado no longo prazo
- Depois de 25 anos de idas e vindas, o CSS
zoom foi padronizado e permanece como um exemplo simbólico da importância do consenso e da evolução da plataforma web
2 comentários
Lembro de
*zoom: 1;depois de tanto tempo.A web é realmente lamentável. É até surpreendente que ainda funcione minimamente.