2012-09-04 12 views
21

लागू होता है मेरे पास Google Nexus 7 टैबलेट है जिसका उपयोग मैं कुछ उत्तरदायी डिज़ाइनों का परीक्षण करने के लिए कर रहा हूं। जावास्क्रिप्ट में, screen.width अपेक्षाकृत (मूल संकल्प) के रूप में 800px के रूप में लौटाता है।नेक्सस 7 स्क्रीन.विड्थ 800 लौटाता है लेकिन मीडिया क्वेरी अधिकतम चौड़ाई: 720 पीएक्स अभी भी

स्क्रीन की अधिकतम चौड़ाई> 720px होने पर निम्न मीडिया क्वेरी को टैबलेट द्वारा कैसे उठाया जाता है?

@media only screen and (max-width: 720px) and (orientation: portrait) { 
    .test{ background: red;} 
} 
+0

मुझे सही लगता है - क्या आपने इसे किसी अन्य प्रभाव के साथ किसी jsfiddle पर करने की कोशिश की है? क्या यह अभी भी लागू होता है? – zenkaty

+0

जो आपको http: // css-tricks.com/मंच/चर्चा/17586/मीडिया-प्रश्न-समान-चौड़ाई/पी 1' –

उत्तर

42

एंड्रॉयड क्रम Android पारिस्थितिकी तंत्र के अलग स्क्रीन घनत्व को समायोजित करने के लक्ष्य घनत्व स्केलिंग करता है। एंड्रॉइड ब्राउजर डिफ़ॉल्ट रूप से एक मध्यम स्क्रीन घनत्व को लक्षित करता है, तत्वों के आकार को अनुकरण करने की कोशिश करता है जैसे कि स्क्रीन एक एमडीपीआई स्क्रीन थी।

this website का उपयोग करना, जैसा कि आप देख सकते हैं कि इस स्केलिंग का परिणाम है कि device-width601 px और device-height880 px Nexus 7 इसलिए पर है है, यह आपके max-width: 720px घोषणा दायरे में आता है और पृष्ठभूमि लाल दिखाई देता है।

Screenshot

window.screen.width और .height हमेशा वास्तविक स्क्रीन आकार देता है। आपको याद रखना होगा कि व्यूपोर्ट आकार और स्क्रीन का आकार दो अलग-अलग चीजें पूरी तरह से हैं।

यदि आप यह व्यवहार नहीं चाहते हैं, तो आप अपने <meta name="viewport"> टैग पर target-densitydpi=device-dpi जोड़ सकते हैं। यह एंड्रॉइड लक्ष्य घनत्व स्केलिंग को अक्षम कर देगा: device-width और device-height डिवाइस के मूल स्क्रीन रिज़ॉल्यूशन की रिपोर्ट करेगा।

एंड्रॉइड के लक्ष्य घनत्व स्केलिंग के बारे में अधिक जानकारी Android Developers' Documentation में उपलब्ध है।

+2

में मदद कर सकता है मैं यहां नामकरण पर एक बड़ा उलझन में हूं ... में 'response.js' साइट ऊपर, यह 'व्यूपोर्ट चौड़ाई', 'डिवाइस चौड़ाई' और' दस्तावेज़ चौड़ाई 'के जावास्क्रिप्ट विशेषताओं को सूचीबद्ध करता है। सीएसएस में, 'डिवाइस-चौड़ाई' मीडिया क्वेरी है जो 'व्यूपोर्ट चौड़ाई' के जावास्क्रिप्ट-समकक्ष को देख रही है? उन्हें एक ही चीज़ क्यों नहीं कहा जाता है? –

+1

वेबकिट से 'target-densitydpi' के लिए समर्थन हटा दिया गया था, http://trac.webkit.org/changeset/119527 और यहां एक स्पष्टीकरण देखें: https://petelepage.com/blog/2013/02/viewport-target- densitydpi-support-is-being-deprecated/ –

+1

@VolkerE .: Android के नए संस्करण (4.4+) अब ** वेबकिट ** का उपयोग नहीं कर रहे हैं। Google के वेबकिट कांटा पर स्विच किया गया: [ब्लिंक] (http://www.chromium.org/blink)। 'target-densitydpi' अभी भी और भविष्य के लिए सभी एंड्रॉइड डिवाइस पर समर्थित है। एंड्रॉइड के पुराने संस्करण (4.3 और निचले) वेबकिट के पुराने संस्करण का उपयोग कर रहे हैं 'लक्ष्य-घनत्व डीपीआई' अभी भी उपलब्ध हैं। –

संबंधित मुद्दे