Problem mit margin und border

Problem mit margin und border

Beitragvon Janeka » 09.12.2010, 15:21

Hallo,

vermutlich trifft es der Titel das Problem nicht ganz richtig, aber ich weiß nicht wie ich suchen soll.
Google schmeißt mir IE6 Probleme aus, dass ist aber nicht mein Problem, es tritt auch im Firefox auf, vermutlich ist es schwere Unwissenheit :-)

Ich habe im Layout einen Wrap mit 2 Divs: Main und Sidebar, wenn ich denen mit margin einen oberen Abstand zum Wrap verpassen will, dann funktioniert dass nicht richtig, es erfolgt zwar ein Abstand nach oben, aber der Wrapkasten rutsch sozusagen runter.Gebe ich nun für jede ID eine Border an, so funktioniert es wieder richtig, aber nicht bei einem Wert von Null.

Ich code nach langer Zeit mal wieder selbst - ein Layout soll von der Pike auf entstehen - und entschuldige mich schonmal für diesen vermutlich däm... Fehler, aber ich bin jetzt über eine Stunde dran und komm nicht drauf. (Ich kann mich sogar dunkel dran erinnern, dass ich das Problem schonmal hatte)

Hier kommt mein Code:

Code: Alles auswählen
<div id="header">
</div>

<div id="mainwrap">

    <div id="main">
         <h2>[*longtitle*]</h2>
                [*introtext*]
                [*content*]
                {{blindtext}}
    </div>

    <div id="sidebar">
         
    </div>
<br clear="all" />   
    <div id="footer">
            {{footer}}
    </div>


Code: Alles auswählen
#top{
border: 0px solid black;
  height: 150px;
background-color: #F4FFDF;
margin: 10px auto 0px;} /*Abstand nach oben*/

#header{
  margin: auto;
  width: 960px;
  height: 150px;
  background: #FFCC33;
}

#mainwrap{
  margin: 0 auto;
  position: relative;
  width: 960px;
  height: auto;
  background: #FFFFCC;
  border: 0px solid black;
}
#main{
  margin: 20px;
  width: 700px;
  float: left;
}
#sidebar{
  width: 200px;
  margin-top: 20px;
  margin-left: 740px;
  background: #FFFF99;
}


Ich danke Euch
Janeka
neu hier
 
Beiträge: 4
Registriert: 09.12.2010, 15:07

Re: Problem mit margin und border

Beitragvon sejuma » 09.12.2010, 19:39

Öffne den #mainwrap vor dem header:
Code: Alles auswählen
<body>
<div id="mainwrap">
<div id="header">
Bild
sejuma
Vielposter
 
Beiträge: 805
Registriert: 15.07.2009, 17:46

Re: Problem mit margin und border

Beitragvon Janeka » 09.12.2010, 21:08

Nein sorry, das geht nicht. Ich hab hier nicht den gesamten Code reingestellt, das war vielleicht verwirrend. Der Header befindet sich einem div "Top", und dass geht nachher über die gesamte Breite.

Ich dachte auch eher es hätte was mit einer fehlenden Angabe zu tun.
Hat noch jemand eine Idee? (Wenn nicht bin ich ja auch irgendwie froh, dass es scheinbar nicht was ganz dummes ist :wink: )
Janeka
neu hier
 
Beiträge: 4
Registriert: 09.12.2010, 15:07

Re: Problem mit margin und border

Beitragvon sejuma » 09.12.2010, 21:16

Die Ursache liegt im margin-top-Wert der sidebar.
Bild
sejuma
Vielposter
 
Beiträge: 805
Registriert: 15.07.2009, 17:46

Re: Problem mit margin und border

Beitragvon Janeka » 10.12.2010, 10:09

:-) das der margin-top der Grund dafür ist, ist mir schon klar.
Aber er sollte ja wohl einen Abstand zum "nächsthöheren" div - also #mainwrap erzeugen.
Dieses tut er auch, sobald für den #mainwrap eine border definiert ist (welche ich aber nicht haben möchte!).

Entferne ich die Eigenschaft border oder setze sie Null, so erzeugt margin-top im #sidebar einen Abstand von mainwrap zu header.

Das ist doch wohl nicht logisch oder?

Ich hab mal ein Bild angehängt, ich bin scheinbar keine Leuchte im erklären.
Ich hoffe es wird klarer.
Dateianhänge
margin-top.jpg
margin-top.jpg (86.06 KiB) 438-mal betrachtet
Janeka
neu hier
 
Beiträge: 4
Registriert: 09.12.2010, 15:07

Re: Problem mit margin und border

Beitragvon Janeka » 10.12.2010, 11:23

OK, ein Kaffee hat mein Hirn bis in die letzte Windung durchgepustet, und aus der hinteren Ecke kam:
"Collapsing Margin Phänomen"

Ich persönlich empfinde es als Bug, es ist aber keins, deshalb hat Google bei meiner Suche mit "Bug" auch nicht viel hilfreiches ausgespuckt.

In meinem Fall ist es das Zusammenfallen von Eltern und Kindelement. Wird dabei die Eigenschaft border eingesetzt, so verhindert sie das "Collapsing".

Ich werde also eine border in der Hintergrundfarbe setzen, dass scheint mir das einfachste.

Gruß Janeka
Janeka
neu hier
 
Beiträge: 4
Registriert: 09.12.2010, 15:07


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Problem mit margin und border"

Zurück zu: CSS für Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste