9P by neo 2일전 | ★ favorite | 댓글 2개
  • 2000년대 초 Internet Explorer에 도입된 CSS zoom 속성은 표준 없이 확산되며 웹 개발자들에게 혼란을 안겨준 기능임
  • zoom은 요소 크기를 확대/축소하는 단순한 기능이었으나, 브라우저 간 불일치와 호환성 문제를 야기했음
  • 이후 등장한 CSS transform 이 표준 대안이 되었지만, 레이아웃에 영향을 주는 zoom 특성을 필요로 하는 사례가 지속적으로 존재함
  • 사용 데이터 조사에서 zoom은 실제로는 IE 버그 회피용인 zoom:1 사용 때문에 과장된 높은 인기 지표를 기록했음
  • 결국 2023년 CSS 워킹그룹이 새로운 표준 사양을 마련하고 2025년 Interop 프로젝트에 포함되면서 25년 만에 표준화와 폭넓은 지원을 얻게 되었음

zoom 속성의 등장

  • 2000년 Internet Explorer 5.5에 포함된 비표준 기능인 zoom 은 요소 크기를 배율로 조정할 수 있는 속성이었음
    • zoom:2는 두 배 확대, zoom:0.1은 10분의 1 축소처럼 동작
    • 요소의 크기 변경에 따라 주변 레이아웃도 재배치되는 특징을 가짐
  • 하지만 공식 사양이 없어 브라우저별 구현이 달랐고, 이는 웹 개발자와 사용자 모두에 혼란을 주었음
  • 초기에는 장식적 성격이 강해 사이트 기능성에 큰 영향은 없었음

표준화 시도와 브라우저 반응

  • Mozilla는 초창기부터 표준 준수를 우선시해 zoom을 무시하고 Firefox에 포함하지 않았음
  • 대신 CSS transform 속성이 등장해 비슷한 기능을 표준화했음
    • 더 강력하고 효율적인 제어 제공
    • 다만 이웃 요소 배치에는 영향을 주지 않음
  • Apple은 Safari에 transformzoom을 모두 구현하면서 브라우저 간 차이가 지속됨
  • 그 결과, zoom은 표준에는 없지만 일부 브라우저에 남아 있는 어정쩡한 상태에 놓였음

인기 지표와 오해

  • Bocoup와 Mozilla는 브라우저 기능 사용성을 조사하며 웹 개발자 설문, MDN 검색량, Stack Overflow 언급, Chrome 텔레메트리, HTTP Archive 데이터 등을 활용했음
  • 예상과 달리 zoom은 상위권을 차지했는데, 이는 주로 IE 버그를 회피하기 위해 zoom:1을 지정한 패턴 때문이었음
  • 실제로 zoom:1 사용을 제외하고 계산하자 전체 사용량의 94%가 감소
  • 이로 인해 Mozilla는 zoom보다 다른 기능 개선에 우선 집중했음

재부상과 표준화

  • Firefox 버그 트래커에서 레이아웃에 영향을 주는 zoom 동작의 필요성을 개발자들이 계속 주장했음
  • Microsoft Excel Web, Gmail 모바일 웹앱 등 주요 서비스도 이 기능에 의존했음
  • 2023년 CSS 워킹그룹은 새로운 zoom 사양을 마련하여 호환성 문제를 줄이고 표준화 추진
  • Interop 2025 프로젝트에 채택되어 현재는 주요 브라우저에서 포괄적 지원을 받게 되었음

교훈과 결론

  • 웹 표준 합의 과정은 느리지만 전 세계 개발자와 사용자에게 포용적인 해결책을 제공한다는 점을 보여줌
  • 폐쇄적·비표준 기술에 의존하는 것은 장기적으로 위험하다는 교훈을 줌
  • CSS zoom은 25년의 우여곡절 끝에 표준화되며, 웹 플랫폼의 합의와 진화의 중요성을 상징하는 사례로 남음

오랜만에 *zoom: 1;이 기억나네요

웹은 정말 한심하다.지금 이나마 돌아가는게 신기할정도다