2013-04-24 11 views
7

मेरे पास गैलेक्सी नोट पर मेरे एंड्रॉइड 4.0 पर दिखाई देने वाली एक बहुत ही असामान्य बग है। कुछ दोस्त अपने गैलेक्सी एस 3 पर समान देखते हैं। मैं निम्नलिखित करने के लिए अपने कोड को सरल बनाया:एंड्रॉइड सीएसएस स्थिति: डिवाइस के बाद तय

<!DOCTYPE html> 
<html> 
     <head> 
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
       <meta name="viewport" content="width=device-width, maximum-scale=1.0,initial-scale=1.0, user-scalable=no" /> 
     <style type="text/css"> 
     #movieplayer {width:100%; position:fixed; top:0px; left:0px; right:0px; bottom:0; background:yellow; z-index: 90;} 
     .player, .project-info {width:100%} 
     #movieplayer .short-info {width:100%;background:green;display:block;position:relative;} 

     </style> 

     </head> 

     <body class="works"> 
     <div id="global-container"> 

       <div id="movieplayer"> 
         <div class="player"> 
           <div class="project-info movie"> 
             <div class="short-info jspScrollable"> 
               <div class="container"> 
                 hello 
               </div> 
             </div> 
           </div> 
         </div> 

       </div> 

     </div> 
     </body> 
</html> 

जब आप पहली बार चित्र में इस पेज को लोड, आप एक पीले रंग की पृष्ठभूमि के शीर्ष पर हरे रंग का बार देखना चाहिए। वे दोनों स्क्रीन चौड़ाई 100% भरें। जब आप फोन को परिदृश्य में घुमाते हैं, तो पीले रंग की स्क्रीन को भरना जारी रहता है, लेकिन हरा बार शेष चौड़ाई को भरने में विफल रहता है। ऐसा क्यों है?

मैं #movieplayer {position: fixed;} का उपयोग कर रहा हूं क्योंकि मेरे असली कोड में, मैं उस पर कुछ अन्य सामान करने के लिए भरोसा करता हूं। तो मैं स्थिति का उपयोग नहीं कर सकता: पूर्ण।

उत्तर

1

ठीक है, मैं एक समाधान को एक साथ हैक करने में सक्षम था। मैं jQuery स्थापित किया है, और फिर मैं एक

$('.short-info').css('position','absolute'); 
setTimeout("$('.short-info').css('position','');", 0); 

यह बदसूरत है किया था, लेकिन यह काम करता है।

+0

अन्य जवाब तरह से बेहतर है और यह सिर्फ काम करता है! – Adaptabi

+0

मेरे लिए इसे फिक्स्ड। –

9

यह समस्या एंड्रॉइड ब्राउज़र के कुछ संस्करणों में एक बग की तरह प्रतीत होती है।

फिक्स्ड-स्टेटस कंटेनर के तहत तत्वों का सेट आकार बदलने के परिणामस्वरूप उनकी चौड़ाई (reflow के दौरान) को फिर से गणना करने के लिए नहीं कहा जाता है।

आपका समाधान काम करता है, क्योंकि यह इस पुनर्मूल्यांकन को बल देने के लिए several ways में से एक है।

विचित्र रूप से पर्याप्त, हमने पाया है कि सीएसएस में कोई भी परिदृश्य-विशिष्ट मीडिया क्वेरी हमारे लिए इसे ठीक करती है। (Galaxy S3 पर परीक्षण):

@media screen and (orientation: landscape){ 
    .doesnt-exist { background:red; } 
} 

संबंधित लिंक: Android Issue 27959 Android Issue (dup) 25610

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