• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Abstand von zwei Elementen

PapstBenR

Neues Mitglied
Hallo,

ich hab ein Problem mit zwei div Elementen(navi und content).

Code:
*{
    margin:             0px;
    padding:            0px;
}

body{
    background-color:   #E5E5E5;
}

#logo{
    position:           fixed;
    height:             7%;
    width:              20%;
    background-color:   white;
}

#navi{
    position:           fixed;
    height:             7%;
    width:              80%;
    left:               20%;
    background-color:   red;
}

#content{
    height:             93%;
    width:              80%;
    margin:             7% 0 0 20%;
    background-color:   blue;
    float:              left;
}

HTML:
<!DOCTYPE html>
<html lang="de">
<head>
    <link rel="stylesheet" type="text/css" href="solidStyle.css">
    <meta charset="utf-8">
</head>
<body>
<div id="logo">
    test
</div>
   
<div id="navi">
    test
</div>
   
<div id="content">
    test<br><br><br><br><br><br><br><br>
</div>
</body>
</html>

Und zwar müsste bei content der margin-top doch 7% sein, jedoch passt nur der Abstand von 3%, damit beide Kante an Kante liegen. Jemand Rat wieso das so ist?
 
Das seh ich nicht.

Ich hab den div mit der id "navi". Der ist 7% hoch. Also müsste bei einem Außenabstand von 7% der content div genau an der Kante liegen.
 
Wenn man margin als Prozentwert angibt, so ist der Bezugswert (100%) die Breite des Elternelements. Das trifft auch auf margin-top bzw. bottom zu. Siehe http://jsfiddle.net/8ZGLa/5/ Beide <p>s haben margin-top: 10%; einzig die Breite des Elternelements ist variabel.
 
Zuletzt bearbeitet:
Die offizielle Begründung für diese Definition konnte ich jetzt gerade nicht finden, aber ich erkläre es mir folgendermaßen:

Durch zunehmenden vertikalen Margin des Kind-Elementes verändert sich zwangsläufig auch die Höhe des Elternelements (sofern diese nicht fix gesetzt ist). Da läuft man dann bei der Berechnung in ein Problem...
Die Breite hingegen bleibt unabhängig vom margin des Kindelementes die Gleiche.
 
Zurück
Oben