So habe ich schon seit einiger Zeit html gemacht .. aber ich habe Probleme, wenn ich Ränder benutze. Dies führt dazu, dass ich normalerweise nur Padding verwende.Top Margin verhält sich nicht wie ich erwarte .. warum?
Wie auch immer, lassen Sie mich Ihnen ein Beispiel für etwas geben, an dem ich gerade arbeite.
http://vasoshield.xcsit.com/index.html
Hauptstruktur:
<div id="main">
<div id="header">
<div id="mainNav">
main navigation...
</div>
</div>
<div id="content">
page content...
</div>
</div>
#main {
margin: 0 auto;
width: 745px;
padding-left: 175px;
padding-right: 50px;
background: url(../images/white_bg.jpg) no-repeat top left;
position: relative;
}
#header {
height: 210px;
}
#mainNav { margin-top: 175px; }
Das Problem ist .. Ich margin-top setzen: 150px auf der "Mainnav" div .. und statt nach unten drücken 150px von "header" div .. die ganze Seite wird nach unten bewegt. Also wird der "Haupt" -Teil tatsächlich 150px gedrückt. Ich verstehe nicht warum !! Wenn ich padding-top: 150px für "mainNav" div verwende, benutzt es tatsächlich den "header" div um von dort herunter zu drücken.
Macht meine Frage Sinn?
Ich bin sicher, dass es eine Art Regel gibt, von der ich nichts weiß. Danke im Voraus !!
cool. Das erklärt die Logik dahinter. Grundsätzlich, wenn ich verhindern kann, dass die Ränder kollabieren, ist mein Problem gelöst. Hinzufügen von "overflow: hidden" Ich nehme an, dass das div "special" ist, was wiederum das Kollaps verhindert (genau wie border oder padding etc). habe ich recht? – Roeland
Ja, '' header {overflow: hidden; } 'wird gut funktionieren und ist ein bisschen einfacher als meine Idee, eine winzige Top-Padding zu setzen. Gute Idee! –