ปิดโฆษณา
ตัวแปลงหน่วย CSS
ตัวแปลงหน่วย CSS
รองรับการแปลงระหว่างหน่วย CSS เช่น px, em, rem, %, vw, vh พร้อมการตั้งค่าจุดตัดแบบตอบสนอง คำนวณค่าที่ขึ้นกับบริบทโดยอัตโนมัติ เหมาะสำหรับการพัฒนาเลย์เอาต์แบบตอบสนอง การใช้งานส่วนหน้า และการปรับสไตล์
🚀 เริ่มต้นอย่างรวดเร็ว
- กรอกค่าและหน่วย: เช่น 16 + px หรือ 1 + rem
- เลือกหน่วยต้นทาง กรอกค่า จากนั้นเลือกหน่วยปลายทาง และใช้ปุ่มสลับเพื่อสลับได้อย่างรวดเร็ว
- บนมือถือ: ใช้ลูกศรมุมขวาบนในแผงเลื่อนเพื่อสลับระหว่างหน่วยต้นทาง/ปลายทาง
- การตั้งค่าใช้ได้กับ rem/em/%/vw/vh และปิดใช้งานสำหรับหน่วยแบบตายตัว
- ดูผลลัพธ์: หน่วยอื่นจะถูกคำนวณให้ทันทีและคัดลอกได้
- ใช้ breakpoint: สลับพรีเซ็ต mobile/tablet/desktop เพื่อตรวจสอบผลการแปลงบนขนาดหน้าจอต่าง ๆ
📌 สถานการณ์การใช้งานทั่วไป
- กรณีใช้งาน: สร้างเลย์เอาต์ responsive ส่งต่อดีไซน์ให้ dev จับคู่ค่าระหว่างหน้าจอกับงานพิมพ์ และกำหนดมาตรฐานการใช้หน่วยในโค้ด
🧭 คำแนะนำการใช้งาน
- กำหนดฐาน: root 16px เป็นค่าแพร่หลาย ช่วยให้คิด rem ↔ px ในหัวได้ง่าย
- ใช้ rem กับข้อความ: ช่วยให้ปรับ scale ทั้งระบบและรองรับ a11y ส่วน em เหมาะกับการ scale ภายในคอมโพเนนต์
- ใช้หน่วย viewport กับเลย์เอาต์: ผสานกับ breakpoint และฟังก์ชัน clamp เพื่อหลีกเลี่ยงค่าที่สุดโต่ง
- ทศนิยมและการปัดเศษ: เก็บทศนิยมในระดับที่อ่านง่ายเพื่อไม่ให้เลขรกเกินไป
🎛️ พารามิเตอร์และบริบท
- ฐาน REM: กำหนดการแปลง rem ↔ px 16px เป็นค่าที่ใช้กันมากบนเว็บ ช่วยให้คิดในหัวง่าย หากดีไซน์ไม่ได้อิง 16px สามารถปรับชั่วคราวได้
- ฐาน EM: กำหนด em และ % (เมื่ออ้างอิงคือขนาดฟอนต์) เหมาะสำหรับการ scale ภายในคอมโพเนนต์: เปลี่ยนขนาดฟอนต์ของ parent เพื่อ scale บล็อกนั้น
- อ้างอิงของ %: เลือก Font size / Width / Height เป็นฐานอ้างอิง สำหรับเลย์เอาต์มักใช้อิงความกว้าง/ความสูง; สำหรับ typography ใช้อิงขนาดฟอนต์
- พรีเซ็ต breakpoint: Mobile / Tablet / Desktop / Large จะตั้ง viewport ให้ด้วยเพื่อประเมินบนความกว้างต่าง ๆ จุดนี้ใช้เพื่อประเมินตอนออกแบบ ไม่ใช่ media query ที่รันจริงในเบราว์เซอร์
- ขนาด viewport: ใช้ในการคำนวณ vw/vh/vmin/vmax และ % (เมื่ออ้างอิงคือความกว้าง/ความสูง) ค่าในอุปกรณ์จริงอาจต่างออกไปเพราะแถบที่อยู่ safe area และแถบเลื่อน
- DPI: ใช้แปลงระหว่างหน่วยกายภาพ pt/pc/in/cm/mm/q กับ px ค่าเริ่มต้นบนเว็บมักถือว่าเป็น 96 DPI; สำหรับงานพิมพ์/จอ HiDPI ควรตั้งเป็นค่าอุปกรณ์จริง ถ้าไม่ทราบให้ถือเป็นค่าประมาณ
- เคล็ดลับ: 1) 16px และ 96 DPI เป็นฐานที่ใช้บ่อย; 2) ตรวจสอบเปอร์เซ็นต์เลย์เอาต์โดยสลับ breakpoint; 3) การตั้งค่าเหล่านี้ช่วยประเมินตอนออกแบบ ไม่ได้แทนผลคำนวณสุดท้ายของ DOM/CSS ในเบราว์เซอร์
⚠️ ข้อจำกัดและความเข้ากันได้
- การอ้างอิงของ % ขึ้นกับ property; เครื่องมือนี้ประเมินตามกรณีที่พบบ่อย
- ex/ch พึ่งพา metrics ของฟอนต์ ผลลัพธ์จึงอาจต่างกันไปในแต่ละฟอนต์/เบราว์เซอร์
- หน่วย viewport อาจต่างกันเล็กน้อยจากแถบเลื่อน แถบที่อยู่ และ safe area ของอุปกรณ์
- การแปลงหน่วยกายภาพ ↔ px ขึ้นกับ DPI; อุปกรณ์พิมพ์/จอ HiDPI ควรมีการตรวจสอบจริง
🔒 ความเป็นส่วนตัวและความปลอดภัย
- การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ ข้อมูลจะไม่ออกจากอุปกรณ์
❓ คำถามที่พบบ่อย
rem กับ em ต่างกันอย่างไร?
rem อ้างอิงขนาดฟอนต์ของ root ส่วน em อ้างอิง parent
ควรใช้ px หรือ rem ดี?
โดยทั่วไปควรใช้ rem กับเลย์เอาต์และข้อความ; px ยังเหมาะกับไอคอนและเส้นขอบที่ต้องการความคมชัด
ทำไม vw/vh ถึงมีพฤติกรรมต่างกันในแต่ละอุปกรณ์?
เพราะแถบที่อยู่บนมือถือ safe area และแถบเลื่อนมีผลต่อ viewport; ควรใช้ร่วมกับ clamp()/min()/max() และ breakpoint
จะแปลงพิกเซลบนจอเป็นหน่วยสำหรับงานพิมพ์อย่างไร?
ตั้งค่า DPI (เช่น 96/72/300) การแปลงจากหน้าจอ → งานพิมพ์ที่นี่เป็นเพียงค่าประมาณ งานพิมพ์จริงควรใช้เวิร์กโฟลว์ที่มีโปรไฟล์ ICC และการปรู๊ฟ