สูตรสำหรับขนาดฟอนต์แบบ Responsive
(jameshfisher.com)- เว็บไซต์จำนวนมาก เช่น The New York Times, Medium, Substack ใช้ breakpoint (เช่น 768px) แล้วเปลี่ยนขนาดฟอนต์ตามเกณฑ์นั้น (1.125 rem และ 1.25rem)
- หากใช้
calcของ CSS ก็สามารถเขียนค่าใกล้เคียงแบบนี้ได้calc(1.0625rem + 0.2604vw) - ถ้าปัดค่านี้ก็สามารถเขียนเป็น
1rem + 0.25vwได้ ดังนั้นตอนนี้ฉันจึงใช้ CSS ด้านล่างกับเว็บไซต์ส่วนใหญ่
:root {
font-size: calc(1rem + 0.25vw);
}
3 ความคิดเห็น
หากต้องการให้ implement ได้เหมือนกับดีไซน์ต้นฉบับบน PC ทุกประการ ผมคิดว่าน่าจะต้องใส่ css variable สำหรับหักความกว้างของสกrolบาร์เข้าไปในสูตรด้วย เพราะเข้าใจว่า
vwอ้างอิงจากความกว้างที่รวมความกว้างของสกrolบาร์ไว้แล้วในกรณีที่ต้องการให้แม้แต่ระยะว่างขององค์ประกอบรอบๆ เพิ่มลดในสัดส่วนเดียวกันเหมือนภาพเต็ม ก็น่าจะลองอ้างอิงวิธีตั้งค่าฟอนต์ของเว็บไซต์ด้านล่างได้เช่นกัน สำหรับ Galaxy Fold (320px) หรือจอความละเอียดสูง ก็ดูเหมือนว่าสามารถกำหนดข้อจำกัดอย่างเหมาะสมด้วย breakpoint ได้
https://amerimnos.github.io/coding-playground/reponsive-css-trick-vw/
นี่เป็นการประมาณที่มีประโยชน์ก็จริง แต่ก็ยากที่จะใช้แทน breakpoint ที่ใช้จริงใน Fluid Typography ได้ทั้งหมด
โดยปกติ
clamp(min_rem, calc_relative_vw, max_rem)จะถูกปรับใช้แตกต่างกันไปตาม breakpoint โดยอิงจากความสามารถในการอ่านของคอนเทนต์และลักษณะของคอนเทนเนอร์ ดังนั้นถ้าใช้สูตรเดียวเพื่อรองรับทั้งหมด จะทำให้รองรับ form factor ที่ไม่ทั่วไปได้ยากขึ้นตัวอย่างเช่น สภาพแวดล้อมอย่างหน้าต่างป๊อปอัปของ Android, มอนิเตอร์ 21:9 หรือ HMD
ไม่ค่อยรู้เรื่องพวก Android popup หรือ HMD เท่าไหร่นะ..
แต่พวกอัตราส่วนอย่าง 21:9 ถ้าเอา
vhมาผูกใช้ด้วยก็น่าจะโอเคไหม?ประมาณ
calc(1rem + min(1vw, 1vh) * 0.25)แบบนี้ครับ