अपने div
के बाद से जारी है, और इसके width
auto
(परोक्ष), http://www.w3.org/TR/CSS21/visudet.html#float-width लागू होता है:
'चौड़ाई' 'ऑटो' के रूप में गणना की जाती है, तो इस्तेमाल किया मूल्य है "हटना करने के लिए फिट " चौड़ाई।
"हटना करने के लिए फिट" चौड़ाई मूल रूप से इसका मतलब है, तत्व के रूप में विस्तृत हो के रूप में अपनी ही संतोष करना ऐसा करना आवश्यक हो सकते हैं।
अब margin-left
के बिना, यह कोई समस्या नहीं है: आपके सभीतत्व इनलाइन तत्व हैं जिनमें प्रत्येक विशिष्ट वर्ण होता है - उनकी व्यक्तिगत चौड़ाई निर्धारित करने के लिए पर्याप्त आसान है, और उन्हें जोड़ें।
लेकिन अब आप एक margin-left
प्रतिशत में, और यहाँ बातें जटिल हो चाहते हैं - अगर हम the definition for margin-left
को देखो, यह कहते हैं:
प्रतिशत: ब्लॉक
युक्त की चौड़ाई को देखें अब, यह हमें में एक अचार का एक सा है, क्योंकि धारक ब्लॉक (जो जारी div
तत्व द्वारा स्थापित है), की चौड़ाई इसकी सामग्री के आधार पर गणना की जाती है छोड़ देता है - लेकिन अब इस margin-left
होगा परिवर्तन है कि सामग्री के समग्र चौड़ाई है, लेकिन अपने आप में धारक ब्लॉक, यह अपने आप में प्रभावित करती है जिनमें से width
पर निर्भर है ...
दो माप निर्भर प्रत्येक पर हैं की एक शास्त्रीय समस्या है कि अन्य ... और यह मूल रूप से असंगत के लिए है।
http://www.w3.org/TR/CSS21/box.html#margin-properties कहते हैं,
प्रतिशत उत्पन्न बॉक्स के धारक ब्लॉक की चौड़ाई के संबंध में गणना की जाती है। [...] धारक ब्लॉक की चौड़ाई इस तत्व पर निर्भर करता है
है, तो जिसके परिणामस्वरूप लेआउट सीएसएस 2.1 में अपरिभाषित है।
संपादित करें: के रूप में क्या BoltClock अपने जवाब में कहा कि मूल रूप से एक ही है, बस मुझे ले गया थोड़ी देर ...
यह 10% के लिए कितने पिक्सल की गणना की जा रही है और उन इकाइयों के लिए उपयोग किए जा रहे पिक्सल की संख्या – tylerlindell
@tlindell के बीच अंतर पर निर्भर करता है: ऐसा प्रतीत नहीं होता है। यदि आप 500px जैसे बेतुका पिक्सेल मान निर्दिष्ट करते हैं, तो यह अभी भी 10px जैसा ही व्यवहार करता है, भले ही यह 10% मार्जिन से कहीं अधिक है। – BoltClock