2012-09-16 14 views
11

ठीक है, मैंने दूर-दराज की खोज की है और यह सुझाव देने के लिए अजीब साक्ष्य से अधिक कुछ भी नहीं आया है कि फ्लोटिंग पॉइंट नंबरों की सटीकता के लिए सीएसएस विनिर्देश में कोई अनुशंसित मानक व्यवहार नहीं है।सीएसएस प्रतिशत में दशमलव स्थान

एनबी। मैं well known sub-pixel rounding problem के बारे में नहीं पूछ रहा हूं।

कारण मैं पूछ रहा हूं कि आईई प्रतिशत-आधारित फ्लोटिंग पॉइंट मानों को 2 दशमलव स्थानों पर लगता है, जबकि वेबकिट और गेको कम से कम 3, या इससे भी अधिक (मैंने परीक्षण नहीं किया है) की अनुमति दी है।

उदाहरण के लिए:

li { 
    width: 14.768%; 
} 

जब Chrome की वेब इंस्पेक्टर या Firebug में निरीक्षण किया, <li> रों सही ढंग से 14.768% की चौड़ाई के लिए दिखाए जाते हैं। हालांकि, आईई देव उपकरण (आईई 9/8/7 मोड) में, उनकी चौड़ाई 14.76% है। इससे वास्तविक पिक्सेल-आधारित मान पूरी तरह से बाहर हो जाते हैं।

क्या कोई इस व्यवहार पर कोई प्रकाश डाल सकता है, या उपयुक्त कामकाज प्रदान कर सकता है? यदि संभव हो तो मुझे पिक्सेल-आधारित मानों का सहारा लेना पड़ेगा, क्योंकि सामग्री को तरल चौड़ाई की आवश्यकता है।

मुझे पता है कि यह कई दशमलव स्थानों से बहुत गहराई से व्यवहार कर रहा है, लेकिन मुझे यह जानने में बहुत दिलचस्पी होगी कि इनमें से कोई भी ब्राउज़र "सही" है या नहीं?

संपादित

फ़ायरफ़ॉक्स जब निरीक्षक (नहीं 2 दशमलव अंकों तक राउंड) में दिखाया गया है सही प्रतिशत मान का उपयोग करने के लगता है, लेकिन वास्तविक पिक्सेल नियुक्ति के मामले में आईई के रूप में ही व्यवहार प्रदर्शित कर रहा है।

+3

आपको तीन-दशमलव परिशुद्धता की आवश्यकता क्यों है? –

+0

मैंने तरल-चौड़ाई, उत्तरदायी कैरोसेल के लिए एक प्लगइन लिखा है। चौड़ाई और ऑफसेट सभी कुल कैरोसेल वस्तुओं की संख्या को विभाजित करके किया जाता है। यह दुर्भाग्य से चौड़ाई 3 दशमलव स्थानों को समाप्त कर सकता है। :/ –

+1

यदि आपको अपने आप को सीएसएस में 3 दशमलव परिशुद्धता की आवश्यकता है तो आप कुछ गलत कर रहे हैं। – AntonNiklasson

उत्तर

4

शायद आपकी समस्या के लिए कई समाधान हैं, मैं इन सुझाव है: एक को छोड़कर सभी के लिए अपने आप से 2 दशमलव पर

  1. दौर, पिछले एक के लिए कुल चौड़ाई से कम करने की तुलना में।
  2. table या display: table का उपयोग करें, ब्राउज़र से चौड़ाई स्वयं ठीक हो जाएगी।