2011-02-17 14 views
5

खैर,सीएसएस मार्जिन टॉप संपत्ति तभी काम करता है सीमा घोषित किया जाता है

यह कुछ समय हो गया है के बाद से इस में पॉपिंग रखने के लिए और मैं समय पूछने के लिए क्यों नहीं था:

इसलिए यहाँ

मेरी बहुत ही सरल HTML है :

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Page Title</title> 
    <style> 
    div{ 
     width: 200px; 
     background: green; 
    }  
    p{ 
     background: yellow; 
     margin: 40px; 
    } 
    </style> 
</head> 
<body> 
    <div> 
    <p>Testing</p> 
    </div> 
</body> 
</html> 

कुछ खास नहीं, केवल div के साथ एक सरल पृष्ठ और उस div के अंदर एक अनुच्छेद।

लेकिन आप उस सीएसएस पर देख सकते हैं मैं divs सीमा से 40px दूर रहने के लिए पैरा घोषित ... और इस

no top and bottom margins

है यह सही ... ऊपर और नीचे मार्जिन अनदेखा किया जा रहा होता है। ...

लेकिन फिर अगर मैं करने के लिए एक 1px लाल बॉर्डर जोड़ने div की तरह:

div{ 
    width: 200px; 
    background: green; 
    border: 1px solid red; 
} 
यहाँ

मैं क्या मिलता है:

working this time

तो हाँ, यह वास्तव में मेरे लिए अजीब लगता है ... इस सफारी में हो रहा है, लेकिन मुझे यकीन है कि यह अन्य ब्राउज़रों पर एक ही होगा हूँ ... मेरे सवाल यह be..why हैं घटित हो रहा है?

क्या इसे ठीक करने का कोई तरीका है?

अग्रिम धन्यवाद

+0

कौन सा ब्राउज़र/मंच? –

+0

देखें: http://stackoverflow.com/questions/4910060/css-adding-a-border-changes-the-background-color – thirtydot

उत्तर

6

मैं तुम्हें टूट मार्जिन है, जो आप here अधिक के बारे में

+0

[यह भी एक पुराना लेकिन अच्छा लेख है] (http: //www.complexspiral। कॉम/प्रकाशन/uncollapsing-margins /) एरिक मेयर द्वारा क्या हो रहा है, और इसे कैसे रोकें। –

2

पढ़ सकते हैं, तो आप को जोड़ने का एक उदाहरण देख रहे हैं लगता है:

overflow: auto; 
के लिए सीएसएस को

अपने div को इस मुद्दे का ख्याल रखना चाहिए।

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