आप वास्तव में वास्तविक भौतिक आयाम या वास्तविक डीपीआई नहीं प्राप्त कर सकते हैं और यहां तक कि अगर आप कर सकते हैं, तो आप उनके साथ कुछ भी नहीं कर सकते।
यह एक बहुत लंबी और जटिल कहानी है, इसलिए मुझे क्षमा करें।
वेब और सभी ब्राउज़र 1px को CSS पिक्सेल नामक इकाई के रूप में परिभाषित करते हैं। सीएसएस पिक्सेल एक वास्तविक पिक्सेल नहीं है, बल्कि एक इकाई है जिसे डिवाइस के देखने के कोण के आधार पर 1/96 इंच माना जाता है। यह एक संदर्भ पिक्सेल के रूप में निर्दिष्ट है ।
संदर्भ पिक्सेल 96dpi के पिक्सेल घनत्व और एक हाथ की लंबाई के पाठक से दूरी के साथ एक डिवाइस पर एक पिक्सेल का दृश्य कोण है। एक मामूली हाथ की लंबाई 28 इंच के लिए, दृश्य कोण इसलिए लगभग 0.0213 डिग्री है। हाथ की लंबाई पर पढ़ने के लिए, 1px इस प्रकार लगभग 0.26 मिमी (1/96 इंच) से मेल खाती है।
0.26 मिमी की जगह में हमारे पास बहुत सारे वास्तविक डिवाइस पिक्सेल हो सकते हैं।
ब्राउज़र मुख्य रूप से विरासत के कारणों के लिए ऐसा करता है - अधिकांश मॉनिटर 96dpi थे जब वेब पैदा हुआ था - लेकिन यह भी स्थिरता के लिए, "पुराने दिनों में" 800x600 पर 15 इंच की स्क्रीन पर 22px बटन 22xpx बटन के आकार से दोगुना होगा 1600x1200 में 15 इंच का मॉनिटर। इस मामले में स्क्रीन की DPI वास्तव में 2x (क्षैतिज रूप से लेकिन एक ही भौतिक स्थान में दो बार संकल्प) है। यह वेब और ऐप्स के लिए एक बुरी स्थिति है, इसलिए अधिकांश ऑपरेटिंग सिस्टम ने स्वतंत्र इकाइयों (एंड्रॉइड पर डीआईपीएस, आईओएस पर पीटी और वेब पर सीएसएस पिक्सेल ) में कई पिक्सेल तरीकों को सार करने के लिए तैयार किया है ।
एक व्यूपोर्ट की अवधारणा को पेश करने के लिए iPhone सफारी ब्राउज़र पहला (मेरे ज्ञान के लिए) था। यह एक छोटे स्क्रीन पर प्रस्तुत करने के लिए पूर्ण डेस्कटॉप शैली अनुप्रयोगों को सक्षम करने के लिए बनाया गया था। व्यूपोर्ट 960px चौड़ा होने के लिए परिभाषित किया गया था। यह मूल रूप से 3x (iphone मूल रूप से 320px था) पृष्ठ को ज़ूम करता है, इसलिए 1 सीएसएस पिक्सेल एक भौतिक पिक्सेल का 1 / 3rd है। जब आपने एक व्यूपोर्ट को परिभाषित किया था, तो आपको यह डिवाइस 163dpi पर 1 CSS पिक्सेल = 1 वास्तविक पिक्सेल से मेल खाने के लिए मिल सकता था।
व्यूपोर्ट का उपयोग करके जहां चौड़ाई "डिवाइस-चौड़ाई" है, आपको व्यूह की चौड़ाई को अधिकतम डिवाइस के आधार पर इष्टतम सीएसएस पिक्सेल आकार में सेट करने से मुक्त करता है, ब्राउज़र सिर्फ आपके लिए ऐसा करता है।
दोहरे डीपीआई उपकरणों की शुरूआत के साथ, मोबाइल फोन निर्माता नहीं चाहते थे कि मोबाइल पृष्ठ 50% छोटे दिखाई दें, इसलिए उन्होंने एक अवधारणा पेश की जिसका नाम है डिवाइसपिक्लराटियो (सबसे पहले मोबाइल वेबकिट पर मेरा विश्वास है), इससे उन्हें 1 सीएसएस पिक्सेल लगभग 1/2 तक रखने की सुविधा मिलती है। एक इंच का 96 वा लेकिन आपको समझ में आ जाएगा कि आपकी संपत्ति जैसे कि छवियों का आकार दोगुना होना चाहिए। यदि आप iPhone श्रृंखला को देखते हैं, तो उनके सभी उपकरण कहते हैं कि सीएसएस पिक्सल में स्क्रीन की चौड़ाई 320px है , हालांकि हम जानते हैं कि यह सच नहीं है।
इसलिए यदि आपने CSS स्पेस में 22px का बटन बनाया है, तो भौतिक स्क्रीन पर प्रतिनिधित्व 22 * डिवाइस पिक्सेल अनुपात है। वास्तव में मैं यह कहता हूं, यह बिल्कुल ऐसा नहीं है क्योंकि डिवाइस पिक्सेल अनुपात कभी भी सटीक नहीं है, फोन निर्माताओं ने इसे 2.1329857289918 के बजाय 2.0, 3.0 जैसे अच्छे नंबर पर सेट किया है ...।
सारांश में, सीएसएस पिक्सल स्वतंत्र डिवाइस हैं और हमें स्क्रीन के भौतिक आकार और प्रदर्शन घनत्व आदि के बारे में चिंता करने की आवश्यकता नहीं है।
कहानी का नैतिक है: स्क्रीन के भौतिक पिक्सेल आकार को समझने के बारे में चिंता न करें। आपको इसकी आवश्यकता नहीं है। 50px को सभी मोबाइल उपकरणों में लगभग समान होना चाहिए, यह थोड़ा भिन्न हो सकता है, लेकिन सीएसएस पिक्सेल हमारे डिवाइस को सुसंगत दस्तावेजों और यूआई के निर्माण का स्वतंत्र तरीका है
संसाधन: