चौड़ाई ऑटो और चौड़ाई 100 प्रतिशत के बीच अंतर


99

पहले मेरी धारणा width: autoयह थी कि सामग्री के लिए चौड़ाई निर्धारित है। अब मैं देखता हूं कि यह माता-पिता की पूरी चौड़ाई लेता है।

किसी को भी इन के बीच मतभेद का वर्णन कर सकते हैं?



संक्षेप में: 1) ऑटो, पैरेंट डिव चौड़ाई / ऊंचाई इसके बच्चों का योग होगा। 2) 100 प्रतिशत, इसकी चौड़ाई / ऊँचाई इसके माता-पिता होंगे '। यहाँ
एलन डोंग

जवाबों:


142

चौड़ाई का ऑटो

डिव या पी जैसे ब्लॉक स्तर के तत्व की प्रारंभिक चौड़ाई ऑटो है। यह अपने युक्त ब्लॉक के भीतर सभी उपलब्ध क्षैतिज स्थान पर कब्जा करने के लिए इसका विस्तार करता है। यदि इसमें कोई क्षैतिज पैडिंग या बॉर्डर है, तो उन की चौड़ाई तत्व की कुल चौड़ाई में नहीं जुड़ती है।

चौड़ाई 100%

दूसरी ओर, यदि आप चौड़ाई निर्दिष्ट करते हैं: 100%, तत्व की कुल चौड़ाई इसके युक्त ब्लॉक का 100% होगी साथ ही किसी भी क्षैतिज मार्जिन, पैडिंग और बॉर्डर (जब तक आपने बॉक्स-आकार का उपयोग नहीं किया है: बॉर्डर-बॉक्स, जिस स्थिति में केवल मार्जिन को 100% में जोड़ा जाता है ताकि इसकी कुल चौड़ाई की गणना की जा सके। यह वही हो सकता है जो आप चाहते हैं, लेकिन सबसे अधिक संभावना है कि यह नहीं है।

अंतर को देखने के लिए इस तस्वीर को देखें:

यहां छवि विवरण दर्ज करें

स्रोत


3
उन लोगों के लिए जो इस बात के लिए उत्सुक हैं कि width: autoइस तरह से व्यवहार क्यों किया जाता है : stackoverflow.com/questions/28353625/…
हशम क़ोलामी

1
ऐसा autoही करता है जैसेfill-available
जिग्गंजर

2
तो मूल रूप से यह तत्व सामग्री के आकार के साथ कुछ नहीं करना है, लेकिन पूरी तरह से मूल चौड़ाई को संदर्भित करता है?
18'18

82
  • width: auto; एक तत्व को अपने मूल कंटेनर के समान चौड़ाई रखने के लिए जितना संभव हो उतना कठिन प्रयास करेंगे, जब मार्जिन, पैडिंग या बॉर्डर से अतिरिक्त स्थान जोड़ा जाता है।

  • width: 100%;मूल कंटेनर के रूप में तत्व को व्यापक बना देगा। माता-पिता की परवाह किए बिना तत्व के आकार में अतिरिक्त अंतर जोड़ा जाएगा। यह आमतौर पर समस्याओं का कारण बनता है।

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें


2
@ सी-लिंक के रूप में एक ही बात प्रदान की है, लेकिन अतिरिक्त ग्राफिकल इंटरफ़ेस। सो +1
नवीन रौनियार

8

यह हाशिये और सीमा के बारे में है। यदि आप उपयोग करते हैं width: auto, तो सीमा जोड़ें, आपका div इसके कंटेनर से बड़ा नहीं होगा। दूसरी ओर, यदि आप उपयोग करते हैं width: 100%और कुछ सीमा, तत्व की चौड़ाई 100% + सीमा या मार्जिन होगी। अधिक जानकारी के लिए इसे देखें ।


4

जब तक चौड़ाई का मान ऑटो होता है, तब तक तत्व अपने कंटेनर की तुलना में व्यापक न होकर क्षैतिज मार्जिन, पैडिंग और बॉर्डर रख सकता है (जब तक कि मार्जिन-लेफ्ट-बॉर्डर-लेफ्ट-चौड़ाई + पेडिंग-लेफ्ट + पेडिंग-राइट का योग न हो) + बॉर्डर-राइट-चौड़ाई + मार्जिन-राइट कंटेनर से बड़ा है)। इसके कंटेंट बॉक्स की चौड़ाई, जो कुछ भी बचा है, जब कंटेनर की चौड़ाई से मार्जिन, पैडिंग और बॉर्डर को घटाया जाएगा।

दूसरी ओर, यदि आप चौड़ाई निर्दिष्ट करते हैं: 100%, तत्व की कुल चौड़ाई इसके युक्त ब्लॉक का 100% होगी साथ ही किसी भी क्षैतिज मार्जिन, पैडिंग और बॉर्डर (जब तक आपने बॉक्स-आकार का उपयोग नहीं किया है: बॉर्डर-बॉक्स, जिस स्थिति में केवल मार्जिन को 100% में जोड़ा जाता है ताकि इसकी कुल चौड़ाई की गणना की जा सके। यह वही हो सकता है जो आप चाहते हैं, लेकिन सबसे अधिक संभावना है कि यह नहीं है।

स्रोत:

http://www.456bereastreet.com/archive/201112/the_difference_between_widthauto_and_width100/


3

Div या p जैसे ब्लॉक स्तर के तत्व की प्रारंभिक चौड़ाई ऑटो है।

चौड़ाई का उपयोग करें: स्पष्ट रूप से निर्दिष्ट चौड़ाई को पूर्ववत करने के लिए ऑटो।

यदि आप चौड़ाई निर्दिष्ट करते हैं: 100%, तत्व की कुल चौड़ाई इसके ब्लॉक के 100% से अधिक किसी भी क्षैतिज मार्जिन, पैडिंग और सीमा से युक्त होगी।

इसलिए, अगली बार जब आप अपने आप को ब्लॉक लेवल एलिमेंट की चौड़ाई को 100% तक सेट कर पाते हैं, तो सभी उपलब्ध चौड़ाई पर कब्जा करने के लिए, विचार करें कि क्या आप वास्तव में इसे ऑटो में सेट करना चाहते हैं।


3

चौड़ाई 100%: यह सामग्री को 100% बना देगा। मार्जिन, सीमा, पैडिंग को इस चौड़ाई में जोड़ा जाएगा और यदि इनमें से कोई भी जोड़ा जाता है तो तत्व ओवरफ्लो हो जाएगा।

चौड़ाई ऑटो: यह मार्जिन, सीमा और गद्दी सहित उपलब्ध स्थान में तत्व को फिट करेगा। मार्जिन समायोजित करने के बाद शेष स्थान + पैडिंग + बॉर्डर उपलब्ध चौड़ाई / ऊंचाई होगी।

चौड़ाई 100% + बॉक्स-आकार: बॉर्डर बॉक्स: यह बॉर्डर सहित उपलब्ध स्थान में तत्व को भी फिट करता है, पैडिंग (मार्जिन इसे कंटेनर को ओवरफ्लो कर देगा)।


1

चौड़ाई का उपयोग करना: ऑटो; + प्रदर्शन: इनलाइन-ब्लॉक; भयानक प्रभाव दे रही सीएसएस में

width : auto;
display: inline-block;

2
यह 100 और ऑटो के बीच अंतर के सवाल का जवाब नहीं देता है।
जोएटी

1
हां, मुझे पता है लेकिन मैं यहां चौड़ाई: ऑटो और डिस्प्ले: इनलाइन-ब्लॉक के बारे में दिखाने की कोशिश कर रहा हूं । जब हम किसी ब्लॉक स्तर के तत्व की चौड़ाई बढ़ाना चाहते हैं तो हम इसका उपयोग कर सकते हैं। और 100% और ऑटो के बीच अंतर
मोहम्मद जावेद

0

जब हम कहते हैं

width:auto;

चौड़ाई मूल तत्व की कुल चौड़ाई से अधिक नहीं होगी। अधिकतम चौड़ाई यह माता-पिता की चौड़ाई है। यदि हम सीमा, पैडिंग और मार्जिन जोड़ते हैं, तो भी सीमा, पैडिंग और मार्जिन के लिए स्थान देने के लिए तत्व की सामग्री स्वयं छोटी हो जाएगी। यदि सीमा के लिए आवश्यक स्थान + पैडिंग + मार्जिन मूल तत्व की कुल चौड़ाई से अधिक है तो सामग्री की चौड़ाई शून्य हो जाएगी।

जब हम कहते हैं

width:100%;

तत्व की सामग्री की चौड़ाई 100% मूल तत्व बन जाएगी और अब से यदि हम सीमा, पैडिंग या मार्जिन जोड़ते हैं तो यह बाल तत्व को मूल तत्व की चौड़ाई से अधिक कर देगा और यह मूल तत्व से बाहर हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.