2013-08-31 5 views
18

मैं एक विरासत परियोजना पर काम कर रहा हूं जिसमें सीएसएस रीसेट *{ margin:0; padding:0 } सबकुछ पर लागू होता है। अब, मेरे नए कोड की आवश्यकता नहीं है क्योंकि यह Normalize.css पर निर्भर करता है। यह कोई समस्या नहीं है लेकिन कुछ स्थानों पर मुझे दोनों शैलियों का उपयोग करने की आवश्यकता है।पैडिंग कैसे बनाएं: सीएसएस में ऑटो काम?

मैं अपने सीएसएस को कैसे अनदेखा कर सकता हूं? मैं *{margin:auto} करने में सक्षम हूं जो ठीक काम करता है। पैडिंग के बारे में भी यही सच नहीं है। पैडिंग को रीसेट करने के लिए कोई समकक्ष तरीका है। आप इसे हल करने के बारे में कैसे जाते हैं?

+0

सब गद्दी के पहले: ऑटो; कुछ भी नहीं है .. और दूसरी बात जो भी आप बदलते हैं, आप दे सकते हैं! हर मामले में इसका उपयोग करना महत्वपूर्ण है – nsthethunderbolt

+0

[एचटीएमएल/सीएसएस: डिफ़ॉल्ट रूप से सूची पैडिंग रीसेट करें] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5561101/html-css-reset-list-padding-to-default) – Scottie

+0

@nsthethunderbolt मैं इसका उपयोग नहीं कर सकता! महत्वपूर्ण क्योंकि मैं एक उत्तरदायी डिज़ाइन पर काम कर रहा हूं और इस प्रकार उपयोग कर रहा हूं! महत्वपूर्ण मीडिया प्रश्नों के साथ चीजों को वास्तव में कठिन बना सकता है –

उत्तर

19

autopadding संपत्ति के लिए मान्य मान नहीं है, केवल एक चीज आप कर सकते हैं * घोषणा से padding: 0; बाहर ले, और बस संबंधित संपत्ति ब्लॉक करने के लिए padding सौंपते हैं।

आप * {} से padding: 0; को दूर से ब्राउज़र अपने तत्व है जो आप कुछ पिक्सल द्वारा अप्रत्याशित पार ब्राउज़र स्थिति ऑफसेट दे देंगे करने के लिए डिफ़ॉल्ट शैलियों लागू होगी, तो यह padding: 0;* का उपयोग करने और आवंटित करने के लिए बेहतर है, तो अगर आप गद्दी ओवरराइड करना चाहते से , बस की तरह

.container p { 
    padding: 5px; 
} 
+0

मैं 'पैडिंग: 0' को हटाना नहीं चाहता क्योंकि इसमें पहले किए गए विरासत कोड के साथ समस्याएं होंगी। मुझे लगता है कि केवल एक ही विकल्प है जहां पैडिंग जोड़ना आवश्यक है क्योंकि यह मार्जिन की तरह अनारेट नहीं हो सकता है। –

+0

@ वैभववणवाल हाँ, जैसा कि मैंने सुझाव दिया है –

2

तुम बस गुंजाइश चाहिए विशिष्ट क्षेत्रों कि रीसेट करने की आवश्यकता करने के लिए अपने * चयनकर्ता एक और नियम का उपयोग करें। .legacy * { }, आदि

+0

आम तौर पर हम 'मार्जिन: 0 सेट करते हैं; पैडिंग: 'बॉडी' पर 0' इसलिए घोंसला वाले तत्वों को आसानी से इसका उत्तराधिकारी होता है, उपर्युक्त केवल तभी काम करेगा यदि आप 'मार्जिन: 0 सेट नहीं करते हैं; पैडिंग: 0' शरीर के लिए –

1

सरल समर्थित समाधान या तो

.element { 
    display: block; 
    margin: 0px auto; 
} 

उपयोग करने के लिए मार्जिन या तत्व इस मार्जिन लागू किया है कि चारों ओर एक दूसरे कंटेनर का उपयोग है। अगर यह अस्तित्व में था तो इसका कुछ हद तक padding: 0px auto का प्रभाव होगा।

सीएसएस

.element_wrapper { 
    display: block; 
    margin: 0px auto; 
} 
.element { 
    background: blue; 
} 

एचटीएमएल

<div class="element_wrapper"> 
    <div class="element"> 
    Hello world 
    </div> 
</div> 
संबंधित मुद्दे