2012-03-16 19 views
5

क्या किसी को पता है कि फायरबग ऑफसेट टॉप को राउंड करता है और जब वे हमें नीचे पैनल देते हैं तो छोड़ दिया जाता है?फायरबग और ऑफ़सेट गणना

कारण मैं पूछता हूं क्योंकि मुझे ऑफसेट्स का उपयोग करने में परेशानी हो रही है जिसमें दशमलव स्थान हैं और मैं सोच रहा हूं कि फायरबग राउंड या इन मूल्यों को फर्श करता है या नहीं।

मैंने सोर्स कोड पर एक नज़र डालने की कोशिश की लेकिन ऑफसेट गणना कहां की जा रही थी, यह तय नहीं कर सका।

किसी भी मदद की सराहना की।

enter image description here

उत्तर

5

firebug source on SVN के अनुसार, ऑफसेट मूल्यों पूर्णांकों के रूप में पार्स कर रहे हैं। this पर भी एक नज़र डालें।

मैं 100% नहीं हूं जो फ़ायरबग करता है लेकिन जब मैं पिक्सेल के लिए दशमलव मानों से निपटता हूं तो मैं हमेशा फ़्लोर करता हूं क्योंकि गोलाकार लेआउट तोड़ सकता है।

यह सवाल भी मदद मिल सकती: Are the decimal places in a CSS width respected?

+0

वे कर रहे हैं दौर? 'parseInt' केवल सीमा चौड़ाई पर उपयोग किया जाता है, जो एक पिक्सेल से छोटा नहीं हो सकता है। ऑफसेट्स स्पष्ट रूप से अकेले रह गए हैं। –

+0

@ टीजे - मदद और अंतर्दृष्टि के लिए आपको बहुत बहुत धन्यवाद। हमने मंजिल का फैसला किया है। अगर कुछ तत्व ओवरलैप होते हैं तो हम मूल रूप से काम कर रहे थे। – Abs

+0

@ एबीएस: आपका स्वागत है। –

2

मैं इस हालांकि बारे में यकीन नहीं है। लेकिन मुझे लगता है कि जब आप एक शैली निर्धारित करते हैं जिसमें दशमलव बिंदु होता है। यह ब्राउज़र है जो निर्धारित करता है कि क्या दशमलव गोलाकार या फर्श होना चाहिए। व्यावहारिक कारणों से, गोलाकार दशमलव सबसे अच्छा विकल्प है। यह सबसे अच्छा विकल्प है क्योंकि फ्लोट किए गए तत्वों में नाटकीय रूप से लेआउट बदलने की उच्च संभावना होती है। उदाहरण के लिए यदि आपके पास तीन आयतों के साथ एक रैपर है। रैपर 60 पिक्सेल लंबा है और आप आयतों की चौड़ाई 20.5px पर सेट करते हैं। यदि ब्राउज़र दशमलव बिंदु को गोल करता है तो अंतिम आयताकार अगली पंक्ति पर कूद जाएगा।

यहां एक JS fiddle है जहां आप विभिन्न ब्राउज़रों के लिए विभिन्न दशमलव बिंदुओं का परीक्षण कर सकते हैं। और यदि मैं ऑफसेट बाएं और शीर्ष को सही करता हूं तो हमेशा मूल जेएस विधियों offsetLeft और offsetTop के समान मूल्य होता है। कम से कम मेरे परीक्षण में।

  • फ़ायरफ़ॉक्स
  • गूगल क्रोम & सफारी फर्श
+0

अच्छा उदाहरण! हालांकि मेरे परीक्षण विपरीत परिणाम बताते हैं। मैं मैक ओएस एक्स का उपयोग कर रहा हूं और इन परिणामों को प्राप्त कर रहा हूं: - फ़ायरफ़ॉक्स 11: राउंड, तो 20.4 ==> 20 और 20.5 => 21. - सफारी 5.1.2 और क्रोम 17: मंजिल, हालांकि 20.99 21 तक गोल है, जबकि 20.90 को 20 तक फर्श किया गया है। मुझे समझ में नहीं आता कि कैसे [फर्श] (http://en.wikipedia.org/wiki/Floor_and_ceiling_functions) चौड़ाई 20.5px के तीन तत्व 60px में एक दूसरे के बगल में फिट नहीं होंगे कंटेनर। फर्श की चौड़ाई 20px होगी और पूरी तरह से फिट होगा। 21px तक गोल करने के लिए अंतिम तत्व को नीचे जाने के लिए मजबूर करने के लिए तीन अतिरिक्त पिक्सल की आवश्यकता होगी। –

+0

क्षमा करें टीजे मेरी गलत है। मैं स्वीडन से हूं इसलिए मैंने उन्हें मिश्रित किया। मैं अपना जवाब बदल दूंगा। – einstein

+0

क्या मैं पूछ सकता हूं कि आपको इस जानकारी की आवश्यकता क्यों है? – einstein

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