- พร็อพเพอร์ตี CSS
zoom ซึ่งถูกนำมาใช้ใน Internet Explorer ช่วงต้นทศวรรษ 2000 เป็นฟีเจอร์ที่แพร่หลายออกไปโดยไม่มีมาตรฐาน และสร้างความสับสนให้กับนักพัฒนาเว็บ
zoom เป็นฟังก์ชันเรียบง่ายสำหรับขยาย/ย่อขนาดองค์ประกอบ แต่ก่อให้เกิด ความไม่สอดคล้องกันและปัญหาความเข้ากันได้ ระหว่างเบราว์เซอร์
- ต่อมามี CSS
transform ปรากฏขึ้นเป็นทางเลือกมาตรฐาน แต่ก็ยังมีกรณีใช้งานที่ต้องการคุณสมบัติของ zoom ที่ส่งผลต่อเลย์เอาต์โดยตรง
- จากการสำรวจข้อมูลการใช้งาน
zoom เคยมี ตัวชี้วัดความนิยมสูง เกินจริง เพราะส่วนใหญ่เกิดจากการใช้ zoom:1 เพื่อเลี่ยงบั๊กของ IE
- ท้ายที่สุด ในปี 2023 คณะทำงาน CSS ได้จัดทำสเปกมาตรฐานใหม่ และเมื่อถูกรวมเข้าในโครงการ Interop 2025 ก็ทำให้ฟีเจอร์นี้ได้รับ การทำให้เป็นมาตรฐานและการรองรับอย่างกว้างขวางหลังผ่านไป 25 ปี
การถือกำเนิดของพร็อพเพอร์ตี zoom
- ในปี 2000
zoom ซึ่งเป็นฟีเจอร์นอกมาตรฐาน ที่รวมอยู่ใน Internet Explorer 5.5 เป็นพร็อพเพอร์ตีที่ใช้ปรับขนาดองค์ประกอบตามอัตราส่วนได้
zoom:2 ทำงานเป็นการขยาย 2 เท่า, zoom:0.1 ทำงานเป็นการย่อเหลือหนึ่งในสิบ
- มีลักษณะเด่นคือเมื่อขนาดองค์ประกอบเปลี่ยน เลย์เอาต์รอบข้างก็ถูกจัดวางใหม่ตามไปด้วย
- แต่เพราะไม่มีสเปกอย่างเป็นทางการ การนำไปใช้ในแต่ละเบราว์เซอร์จึงแตกต่างกัน และทำให้เกิด ความสับสนทั้งต่อนักพัฒนาเว็บและผู้ใช้
- ในช่วงแรกมันมีลักษณะเชิงตกแต่งเป็นหลัก จึงไม่ได้กระทบต่อฟังก์ชันการทำงานของเว็บไซต์มากนัก
ความพยายามทำให้เป็นมาตรฐานและปฏิกิริยาของเบราว์เซอร์
- Mozilla ให้ความสำคัญกับ การปฏิบัติตามมาตรฐาน มาตั้งแต่ช่วงแรก จึงเพิกเฉยต่อ
zoom และไม่ใส่มันไว้ใน Firefox
- แทนที่นั้น พร็อพเพอร์ตี CSS
transform ได้ถือกำเนิดขึ้นเพื่อทำให้ความสามารถคล้ายกันนี้เป็นมาตรฐาน
- ให้การควบคุมที่ทรงพลังกว่าและมีประสิทธิภาพมากกว่า
- แต่ไม่ได้ส่งผลต่อการจัดวางขององค์ประกอบข้างเคียง
- Apple นำทั้ง
transform และ zoom ไปใช้ใน Safari ทำให้ความแตกต่างระหว่างเบราว์เซอร์ยังคงดำเนินต่อไป
- ผลคือ
zoom ตกอยู่ใน สถานะก้ำกึ่ง คือไม่มีอยู่ในมาตรฐาน แต่ยังคงหลงเหลือในบางเบราว์เซอร์
ตัวชี้วัดความนิยมและความเข้าใจผิด
- Bocoup และ Mozilla สำรวจการใช้งานฟีเจอร์ของเบราว์เซอร์โดยใช้ แบบสำรวจนักพัฒนาเว็บ, ปริมาณการค้นหาใน MDN, การกล่าวถึงบน Stack Overflow, telemetry ของ Chrome และข้อมูลจาก HTTP Archive
- ผิดจากที่คาด
zoom กลับติดอันดับต้น ๆ ซึ่งส่วนใหญ่เกิดจาก แพตเทิร์นการกำหนด zoom:1 เพื่อเลี่ยงบั๊กของ IE
- เมื่อนำการใช้
zoom:1 ออกไปจากการคำนวณ ปริมาณการใช้งานรวม ลดลง 94%
- ด้วยเหตุนี้ Mozilla จึงให้ความสำคัญกับการปรับปรุงฟีเจอร์อื่นมากกว่า
zoom
การกลับมาได้รับความสนใจและการทำให้เป็นมาตรฐาน
- ใน bug tracker ของ Firefox นักพัฒนายังคงเรียกร้องอย่างต่อเนื่องถึงความจำเป็นของ พฤติกรรม
zoom ที่ส่งผลต่อเลย์เอาต์
- บริการสำคัญอย่าง Microsoft Excel Web และเว็บแอปมือถือของ Gmail ก็พึ่งพาฟีเจอร์นี้เช่นกัน
- ในปี 2023 คณะทำงาน CSS ได้จัดทำ สเปก
zoom แบบใหม่ เพื่อลดปัญหาความเข้ากันได้และผลักดันการทำให้เป็นมาตรฐาน
- หลังถูกรับเข้าในโครงการ Interop 2025 ปัจจุบันมันจึงได้รับ การรองรับอย่างครอบคลุม ในเบราว์เซอร์หลัก
บทเรียนและข้อสรุป
- สิ่งนี้แสดงให้เห็นว่า กระบวนการสร้างฉันทามติของมาตรฐานเว็บแม้จะช้า แต่ก็ให้ทางออกที่ครอบคลุมแก่นักพัฒนาและผู้ใช้ทั่วโลก
- และเป็นบทเรียนว่า การพึ่งพาเทคโนโลยีแบบปิดหรือเทคโนโลยีนอกมาตรฐานมีความเสี่ยงในระยะยาว
- CSS
zoom ได้รับการทำให้เป็นมาตรฐานหลังผ่านความพลิกผันมา 25 ปี และกลายเป็นกรณีตัวอย่างที่สื่อถึง ความสำคัญของฉันทามติและวิวัฒนาการของแพลตฟอร์มเว็บ
2 ความคิดเห็น
นานทีถึงจะนึกถึง
*zoom: 1;ขึ้นมาได้เว็บช่างน่าสมเพชจริงๆ แค่มันยังพอทำงานได้จนถึงตอนนี้ก็น่าทึ่งพอแล้ว