Apple นำพร็อพเพอร์ตี CSS แบบไม่เปิดเผยสู่สาธารณะมาใช้เพื่อเพิ่มเอฟเฟกต์ Liquid Glass ให้กับคอนเทนต์บนเว็บ
(alastair.is)- Apple เพิ่มพร็อพเพอร์ตี CSS แบบไม่เปิดเผยสู่สาธารณะ
-apple-visual-effectที่ใช้งานได้ใน iOS 26 - พร็อพเพอร์ตีนี้ช่วยให้สามารถนำเอฟเฟกต์ดีไซน์ใหม่อย่าง Liquid Glass และวัสดุ blur มาตรฐาน มาใช้กับคอนเทนต์บนเว็บได้ด้วย
- ฟีเจอร์ดังกล่าว ไม่ได้เปิดใช้งานโดยค่าเริ่มต้นในเบราว์เซอร์ Safari หรือ WKWebView
- หากต้องการใช้ใน WKWebView ต้องเปิดการตั้งค่าแบบไม่เปิดเผยสู่สาธารณะชื่อ
useSystemAppearanceแต่การแก้ไขค่านี้ทำให้ ผ่านการอนุมัติจาก App Store ได้ยาก - ดูเหมือนว่าฟีเจอร์นี้จะถูกใช้เป็นหลัก ภายใน Apple เอง และนักพัฒนาทั่วไปยังไม่สามารถนำไปใช้ได้ในตอนนี้
ภาพรวม
- ผู้เขียนชอบเข้าไปดู GitHub ChangeLog ของ WebKit เป็นงานอดิเรกเพื่อคาดเดาอัปเดตถัดไปของ iOS
- ไม่นานหลัง WWDC ล่าสุด ผู้เขียนพบ Pull Request ใน WebKit ชื่อว่า “[Materials] Rename 'hosted blur' materials to reference 'glass'”
- Liquid Glass ที่ถูกเน้นใน WWDC 2025 ถือเป็นการเปลี่ยนแปลงด้านส่วนติดต่อผู้ใช้ (UI) ครั้งใหญ่ที่สุดนับตั้งแต่ iOS 7
- เดิมทีนี่เป็นการเปลี่ยนแปลงด้านดีไซน์ที่ใช้กับ Native UI เท่านั้น แต่ PR นี้ส่งสัญญาณว่ามีความเกี่ยวข้องกับ web view ด้วย
พร็อพเพอร์ตี CSS แบบไม่เปิดเผยสู่สาธารณะของ Apple
- จาก PR ทำให้เห็นว่า Apple ได้นำ พร็อพเพอร์ตี CSS แบบไม่เปิดเผยสู่สาธารณะชื่อ
-apple-visual-effectมาใช้ - ผ่านพร็อพเพอร์ตีนี้ ใน iOS 26 จะสามารถใช้เอฟเฟกต์ Liquid Glass ได้ (เช่น
-apple-system-glass-material) - และยังสามารถใช้ วัสดุ blur มาตรฐาน ได้ในทุกเวอร์ชันด้วย (
-apple-system-blur-material-thinเป็นต้น) - วัสดุเหล่านี้ยังถูกกล่าวถึงในคู่มือการออกแบบอย่างเป็นทางการด้วย
ความเป็นไปได้ในการใช้งานจริง
- แม้จะลองแก้ไข CSS แล้วนำไปใช้ใน Safari ก็พบว่า ไม่ทำงานบนเว็บ
- ในแอปที่ใช้ WKWebView ก็ยัง ถูกปิดไว้โดยค่าเริ่มต้น
- ต้องเปลี่ยนค่า
useSystemAppearanceของWKPreferencesเป็น true จึงจะทำงานได้ แต่การตั้งค่านี้เองก็เป็นแบบไม่เปิดเผยสู่สาธารณะ จึงไม่สามารถใช้งานผ่านช่องทางทางการได้ - หากแฮ็กเพื่อเปิดค่านี้อย่างไม่เป็นทางการ แล้วใช้ CSS ด้านล่าง ก็จะเห็นเอฟเฟกต์ได้
.toolbar { border-radius: 50%; -apple-visual-effect: -apple-system-glass-material; height: 75px; width: 450px; }
ตัวอย่าง CSS และการใช้งานแบบมีเงื่อนไข
-
Apple ทำเอฟเฟกต์นี้ให้อยู่ในรูปพร็อพเพอร์ตี CSS เพื่อให้สามารถ กำหนดกฎต่าง ๆ ได้อย่างง่ายดายตามการรองรับของระบบ
-
ตัวอย่างเช่น ใช้
@supportsquery เพื่อให้-apple-visual-effectถูกนำไปใช้เฉพาะบนอุปกรณ์ที่รองรับเท่านั้น.toolbar { border-radius: 50%; height: 75px; width: 450px; background: rgba(204, 204, 204, 0.7); } @supports (-apple-visual-effect: -apple-system-glass-material) { background: transparent; -apple-visual-effect: -apple-system-glass-material }
ความหมายและข้อจำกัด
- นี่คือ ฟีเจอร์ที่นักพัฒนาทั่วไปใช้งานไม่ได้ ยกเว้นภายใน Apple เอง
- แต่สิ่งนี้ก็ช่วยให้เห็นเบาะแสว่า “ทำไม webview ภายในแอปจึงมักมีภาพลักษณ์ไม่ค่อยดี”
- webview ที่ผสานเข้ากับระบบได้อย่างแนบเนียนจนผู้ใช้ไม่ทันสังเกต มัก ไม่ค่อยเผยให้เห็นปัญหา
- การที่ Apple พัฒนาสิ่งนี้ขึ้นมา เป็นนัยทางอ้อมว่าบริษัทกำลังใช้งานจริงในบริการหรือแอปของตนเอง
- เป็นไปได้ว่าคุณอาจกำลังสัมผัส UI ที่สร้างบน webview อยู่ในชีวิตประจำวันโดยไม่รู้ตัว
5 ความคิดเห็น
เรื่องไร้สาระแบบนี้ควรถูกเมินไป และไม่มีใครควรใช้มัน
ตอนที่ Apple ฆ่า Flash ผมเคยโห่ร้องยินดีเพราะผลประโยชน์มันสอดคล้องกัน
แต่ก็น่าขันดีที่การตัดสินใจแบบนี้ในตอนนี้กลับให้ความรู้สึกเหมือนเป็นการมองข้ามระบบนิเวศเดิมที่มีอยู่
นี่คือการกลับมาของ IE หรือเปล่า?
ตั้งแต่ยุค IE เป็นต้นมา สำหรับนักพัฒนาฝั่งฟรอนต์เอนด์ คู่ปรับในบทบาทแบบ IE ไม่ใช่ Chrome แต่เป็น Safari ต่างหาก เพราะ Safari ทำให้นักพัฒนาฟรอนต์เอนด์ต้องซื้อ Mac ราคาแพง โดยมีหลายกรณีที่ Chrome และ Firefox ใช้งานได้หมด แต่มีแค่ Safari ที่ใช้ไม่ได้หรือแสดงผลเพี้ยน
ความคิดเห็นจาก Hacker News
backdrop-filterทำเอฟเฟกต์เบลอฉากหลัง#000000ไปเลย ตัวอย่างแบบนี้มีทั่วทั้ง iOS แม้จะใกล้วันปล่อยจริงเพียงไม่กี่วัน ก็ยังมีจุดอย่าง dropdown หรือปุ่มคีย์บอร์ดที่ไม่พร้อมใช้งานที่ไม่สะท้อนการตั้งค่า accessibilityuseSystemAppearanceใน WKPreferences แต่เพราะมันเป็น private เลยไม่ผ่านการอนุมัติบน App Store อยากรู้ว่าเรื่องนี้จริงไหม ผมไม่ค่อยเชี่ยวชาญ iOS development แต่จำได้ว่าเคยเห็นวิดีโอแกะโค้ดแอปที่ใช้ internal API หลายตัวเพื่อทำให้ widget บนหน้าจอโฮมเคลื่อนไหวได้เลิกพูดเหลวไหลแล้วไปดูแลความเข้ากันได้ของ Safari ให้ดีเถอะ