2011-04-26 14 views
11

अधिकांश लोगों को पता है,सीएसएस - 100% + पैडिंग?

5px पैडिंग के साथ 100% div वास्तव में 100% + 10px चौड़ा है।

इसका एक स्पष्ट समाधान wrap the child div in a wrapper that has a 10px margin है, हालांकि इस विधि के लिए आपको अतिरिक्त मार्कअप जोड़ने की आवश्यकता है, मैं अतिरिक्त div के बिना 100% + पैडिंग करने का तरीका ढूंढ रहा हूं।

किसी भी विचार?

+0

यदि आप 'पैडिंग-बाएं' और 'पैडिंग-टॉप' और 'पैडिंग-तल' का उपयोग करते हैं तो? यही वह परिणाम है जिसे आप चाहते हैं? या आप http://stackoverflow.com/questions/5219175/width-100-padding – jotapdiez

उत्तर

19

<div> जैसे ब्लॉक तत्व पैडिंग के बाद स्वचालित रूप से 100% चौड़ाई मानते हैं। अर्थात। आपको पैडिंग निर्दिष्ट करके वांछित प्रभाव प्राप्त करने में सक्षम होना चाहिए, auto पर चौड़ाई छोड़कर और यह सुनिश्चित करना कि तत्व display: block (<div> के लिए डिफ़ॉल्ट है)।

http://jsfiddle.net/EMYBm/8/

+0

देख सकते हैं ठीक है, ठीक है, मेरे भाग पर बुरा उदाहरण है, मान लीजिए कि यह एक div नहीं है, बल्कि यह एक HTML इनपुट है ... – Hailwood

+0

@ हैलवुड यह छोड़ने के लिए काफी महत्वपूर्ण जानकारी है। :-P उस मामले में आपके पास एक रैपर का उपयोग करने के लिए बहुत कम विकल्प है (यदि आप IE के बारे में परवाह करते हैं)। – deceze

+0

हाँ ... मेरा बुरा: डी – Hailwood

10

आप box-sizing सीएसएस संपत्ति पर गौर करना चाहिए ...

मैं एक साथ एक उदाहरण रखा आप को दिखाने के लिए कि यह कैसे काम करता है और box-sizing संपत्ति रखने और इसे रखने के बीच अंतर। बेला की जाँच करें ...

http://jsfiddle.net/UnsungHero97/bKsad/2/

ध्यान दें कि यह IE7 या नीचे में काम नहीं करेगा:/

मुझे आशा है कि इस मदद करता है।
हिस्टो

+0

लेकिन, क्या यह यानी 7 में काम करेगा? – Hailwood

+0

नहीं ... हाहा यह आईई 7 या नीचे – Hristo

+0

में काम नहीं करेगा प्यार एम $:/ – Hailwood

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