के साथ बाल तत्वों की समान रूप से वितरित ऊंचाई मान लीजिए कि आपको उपयोगकर्ता को रंगों की एक सूची प्रस्तुत करने की आवश्यकता है। रंगों को एक निश्चित ऊंचाई वाली सूची में प्रदर्शित किया जाना चाहिए, प्रत्येक रंग उस ऊंचाई के बराबर अंश पर कब्जा कर लेता है।सीएसएस
यहाँ क्या यह चार रंगों, 90 पिक्सल की एक सूची ऊंचाई के चारों ओर एक मोटी सीमा के साथ की तरह दिखना चाहिए है:
छवि के ऊपर स्रोत पालन से फ़ायरफ़ॉक्स 3.6.13 में प्रदान की गई है :
<ul style="height: 90px; border: 5px solid black; padding: 0;">
<li style="height: 25%; background: red;">
<li style="height: 25%; background: blue;">
<li style="height: 25%; background: yellow;">
<li style="height: 25%; background: green;">
</ul>
यह सब ठीक है। सूची वास्तव में 9 0 पिक्सेल ऊंची है - सीमाओं के भीतर - और प्रत्येक रंग को इस जगह का एक (प्रतीत होता है) बराबर हिस्सा मिलता है। अब, चलो Safari या Chrome में एक ही HTML/CSS प्रस्तुत करना है:
सूचना हरी पंक्ति और सीमा के बीच संकीर्ण सफेद पंक्ति। हम यहां जो देख रहे हैं उसके लिए एक बहुत ही सरल व्याख्या है: 0.25 × 90 = 22.5
सफारी में वेबकिट और क्रोम वास्तव में गैर-पूर्णांक पिक्सेल ऊंचाइयों को पसंद नहीं करता है और दशमलव को छोड़ देता है। ऊंचाई की चार पंक्तियों के साथ 22 हमें सूची के नीचे 2 पिक्सेल कुछ भी नहीं मिलता है: 90 - 4 × 22 = 2
एक स्थिर HTML फ़ाइल के संदर्भ में, हम आसानी से तत्वों की ऊंचाई 23, 22, 23, 23 पर सेट कर सकते हैं क्रमशः पिक्सेल, और सूची किसी भी ब्राउज़र में ठीक दिखाई देगी। यदि, दूसरी ओर, रंग डेटाबेस से लोड होते हैं और गणना प्रत्येक अनुरोध के साथ भिन्न होती है, तो अधिक लचीला समाधान की आवश्यकता होती है।
मुझे पता है कि जावास्क्रिप्ट का उपयोग करते हुए प्रत्येक पंक्ति onload
पर एक पूर्णांक मान ऊंचाई की गणना और सेटिंग करके इसे हल करने के लिए, और अगर मैं कुछ भी नहीं दिखाता तो मैं इस समाधान को पोस्ट करूंगा। हालांकि, मैं समस्या के लिए पूरी तरह से सीएसएस आधारित समाधान पसंद करेंगे। क्या आप एक के बारे में सोच सकते हैं?
आप को धोखा दे रहा है और पिछले के रंग के लिए 'ul' की पृष्ठभूमि का रंग निर्धारित करने पर विचार कर सकता है 'li'। – thirtydot
[इस मुद्दे पर जॉन रेसिग।] (Http://ejohn.org/blog/sub-pixel-problems-in-css/) – thirtydot
@ थर्टी वेल, यह कुछ पंक्तियों के लिए ठीक दिखता है। पंक्तियों की एक बड़ी संख्या के साथ, संचित अंतराल एक पंक्ति से बड़ी ऊंचाई तक बढ़ सकता है। ऐसे मामले में, यह अंतिम पंक्ति "विस्तार" को अजीब लगेगा। –