คำตอบสั้น ๆ
อัตราส่วนพิกเซลของอุปกรณ์คืออัตราส่วนระหว่างพิกเซลทางกายภาพและพิกเซลเชิงตรรกะ ตัวอย่างเช่น iPhone 4 และ iPhone 4S รายงานอัตราส่วนพิกเซลอุปกรณ์ 2 เนื่องจากความละเอียดเชิงเส้นเชิงกายภาพเป็นสองเท่าของความละเอียดเชิงเส้นเชิงตรรกะ
- ความละเอียดทางกายภาพ: 960 x 640
- ความละเอียดเชิงตรรกะ: 480 x 320
สูตรคือ:
ที่ไหน:
คือความละเอียดเชิงเส้นทางกายภาพ
และ:
เป็นความละเอียดเชิงเส้นเชิงตรรกะ
อุปกรณ์อื่น ๆ รายงานอัตราส่วนพิกเซลอุปกรณ์ที่แตกต่างกันรวมถึงค่าที่ไม่ใช่จำนวนเต็ม ยกตัวอย่างเช่นโนเกีย Lumia 1020 รายงาน 1.6667 ที่ Samsumg Galaxy S4 รายงาน 3 และ iPhone ของ Apple 6 พลัสรายงาน 2.46 (ที่มา: dpilove ) แต่สิ่งนี้จะไม่เปลี่ยนแปลงอะไรในหลักการตามที่คุณไม่ควรออกแบบสำหรับอุปกรณ์เฉพาะใด ๆ
อภิปรายผล
CSS "พิกเซล" ไม่ได้ถูกกำหนดเป็น "องค์ประกอบภาพหนึ่งภาพในบางหน้าจอ" แต่เป็นการวัดเชิงมุมที่ไม่ใช่เชิงเส้นของมุมมองภาพซึ่งมีความยาวประมาณหนึ่งนิ้วที่ความยาวแขน ที่มา: CSS ความยาวสัมบูรณ์
สิ่งนี้มีความหมายมากมายเมื่อพูดถึงการออกแบบเว็บเช่นการเตรียมทรัพยากรภาพความละเอียดสูงและการใช้รูปภาพที่แตกต่างกันอย่างระมัดระวังในอัตราส่วนพิกเซลอุปกรณ์ต่างกัน คุณไม่ต้องการบังคับให้อุปกรณ์ระดับล่างดาวน์โหลดรูปภาพที่มีความละเอียดสูงมากเพียงเพื่อลดขนาดลงในเครื่อง นอกจากนี้คุณยังไม่ต้องการให้อุปกรณ์ระดับสูงถ่ายภาพความละเอียดต่ำสุดหรูเพื่อประสบการณ์การใช้งานที่พร่ามัว
หากคุณติดอยู่กับภาพบิตแมปเพื่อรองรับอัตราส่วนพิกเซลอุปกรณ์ที่แตกต่างกันจำนวนมากคุณควรใช้CSS Media Queriesเพื่อให้ชุดทรัพยากรที่แตกต่างกันสำหรับกลุ่มอุปกรณ์ที่แตกต่างกัน รวมสิ่งนี้เข้ากับเทคนิคที่ดีเช่นbackground-size: cover
หรือตั้งค่าเป็นbackground-size
เปอร์เซ็นต์อย่างชัดเจน
ตัวอย่าง
#element { background-image: url('lores.png'); }
@media only screen and (min-device-pixel-ratio: 2) {
#element { background-image: url('hires.png'); }
}
@media only screen and (min-device-pixel-ratio: 3) {
#element { background-image: url('superhires.png'); }
}
วิธีนี้อุปกรณ์แต่ละประเภทจะโหลดทรัพยากรอิมเมจที่ถูกต้องเท่านั้น โปรดทราบว่าpx
หน่วยใน CSS จะทำงานกับพิกเซลแบบลอจิคัลเสมอ
กรณีสำหรับกราฟิกแบบเวกเตอร์
เมื่ออุปกรณ์ปรากฏมากขึ้นมันก็ยิ่งยากที่จะจัดหาทรัพยากรบิตแมปที่เพียงพอให้พวกเขาทั้งหมด ใน CSS แบบสอบถามสื่อเป็นวิธีเดียวและใน HTML5 องค์ประกอบรูปภาพช่วยให้คุณใช้แหล่งข้อมูลที่แตกต่างกันสำหรับแบบสอบถามสื่อต่าง ๆ แต่การสนับสนุนยังคงไม่ 100% เนื่องจากนักพัฒนาเว็บส่วนใหญ่ยังคงต้องสนับสนุน IE11 อีกครั้ง( แหล่งที่มา: caniuse )
หากคุณต้องการภาพที่คมชัดสำหรับไอคอน, ไลน์อาร์ต, องค์ประกอบการออกแบบที่ไม่ใช่ภาพถ่ายคุณต้องเริ่มคิดเกี่ยวกับ SVG ซึ่งปรับขนาดได้อย่างสวยงามตามความละเอียดทั้งหมด
width=device-width
ฉันจะขยายมันให้เต็มหน้าจอหรือไม่