Nachfolger gefloateter Container

Nachfolger gefloateter Container

Beitragvon smilla » 13.02.2010, 20:41

moin moin,

ich übe grade..... ;)

ich habe in einem container zwei weitere platziert. den ersten container im html-code habe ich rechts gefloatet. der zweite container ist dann wie gewünscht nach oben bzw. neben den ersten gerutscht.

wenn ich dem zweiten container nun mit margin einen aussenabstand zum elterncontainer zuweisen will, ignoriert der anscheinend seine zugehörigkeit zum elternhaus. er erkennt erst die "großeltern".

woran liegt das?

habe zufällig herausgefunden, dass ich ihm (dem ignoranten) mit "position: absolute" zeigen kann, wo er hingehört.

aber den zusammenhang versteh ich nicht.

kann mir das jemend vielleicht kurz erklären? das wär sehr nett..

thanx!

der html-code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>CSSBoxmania * &Uuml:bung 01a * CSS f&uuml:r Einsteiger * Galileo Design </title>
<meta name="description" content="CSS für Einsteiger im Galileo Design Verlag" />
<meta name="keywords" content="CSS, xhtml, webstandards, html" />
<link href="übung_01.css" rel="stylesheet" type="text/css" />
</head>

<body id="home">

<div id="wrapper">

<div id="header">header</div>


<div id="nav">
<ul>
<li class="navhome"><a href="#">home</a></li>
<li class="navteam"><a href="#">team</a></li>
<li class="navprodukte"><a href="#">produkte</a></li>
<li class="navservice"><a href="#">service</a></li>
<li class="navkontakt"><a href="#">kontakt</a></li>

</ul>
</div> <!-- END nav -->




<div id="content">


<div id="menu">

<ul>
<li>Obst
<ul>
<li><a href="#">&Auml:pfel</a></li>
<li><a href="#">Birnen</a></li>
<li><a href="#">Kirschen</a></li>
</ul>
</li>
<li>Gem&uuml;se
<ul>
<li><a href="#">Gurken</a></li>
<li><a href="#">Spinat</a></li>
<li><a href="#">Tomaten</a></li>
</li>
</ul>

</div> <!-- END menu -->


<div id="maintext">
<p>lorem ipsum lorem ipsum, sucht oder wünscht, nur, weil er Schmerz ist, es sei denn, es kommt zu zufälligen Umständen, in denen Mühen und Schmerz ihm große Freude bereiten können. Um ein triviales Beispiel zu nehmen, wer von uns unterzieht sich je anstrengender körperlicher Betätigung, außer um Vorteile daraus zu ziehen? Aber wer hat irgend ein Recht, einen Menschen zu tadeln, der die Entsche blblablab oder wünscht, nur, </p>

</div> <!-- END maintext -->




<h6 class="defloat"></h6>

</div> <!-- END content -->




<div id="footer">footer</div>



</div> <!-- END wrapper -->




</body>

</html>



CSS-Code:

/* CSS übung_01.html */

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

html {height: 100.1%;
font-size: 62.5%;

}

body {text-align: center;
font-family: Verdana, sans serif;
font-size: 1.2em;
line-height:1.8em;
color: #333333;
}

h6.defloat {clear: both;
height: 0px;
}


div#wrapper {width: 760px; margin: 20px auto;
text-align: left;
}




div#header {background: #cccccc;
}


div#nav {background: #cccc11;
text-decoration: none;

}

div#nav ul {list-style-type: none;
}

div#nav li {display: inline;}


div#content {background: #ffc1c1;}



div#menu {background: #f5f5f5;
float: right;
width: 120px;
padding: 20px;
margin: 5px;

}

div#menu ul {list-style-type: none;}
div#menu ul ul {padding-left: 10px;}




div#maintext {background: #ffff11;
width: 550px;

margin: 5px;
position: absolute;



}


div#footer {background: #999999;

border: dashed 1px #333333;
text-align: center;
color: #ffffff;
padding: 4px 0px 6px 0px;
margin-top: 5px;
}
smilla
neu hier
 
Beiträge: 3
Registriert: 13.02.2010, 20:27

Re: Nachfolger gefloateter Container

Beitragvon sejuma » 14.02.2010, 09:29

Lass die absolute Positionierung weg, die ist unnötig und außerdem fehlen ihr top/left-Angaben.
Öffne den #container vor der Navi.
Bild
sejuma
Vielposter
 
Beiträge: 788
Registriert: 15.07.2009, 17:46

Re: Nachfolger gefloateter Container

Beitragvon smilla » 14.02.2010, 09:39

hm, ich glaube das versteh ich nicht richtig.

"öffne den #container vor der navi"

-was genau meinst du damit?

meine frage war auch, warum sich dieser container nun so verhält. liegt es daran, dass sein vorgänger gefloatet ist (ich nehms an..) und wie man ihn wieder zu normalem verhalten zwingt.

mit "öffne den container" kann ich leider nix anfangen. auch wenns lieb gemeint ist..
smilla
neu hier
 
Beiträge: 3
Registriert: 13.02.2010, 20:27

Re: Nachfolger gefloateter Container

Beitragvon sejuma » 14.02.2010, 09:55

Sorry, mein Fehler. Ich meinte den #content:

Code: Alles auswählen
<div id="content">
<div id="nav">
Bild
sejuma
Vielposter
 
Beiträge: 788
Registriert: 15.07.2009, 17:46

Re: Nachfolger gefloateter Container

Beitragvon smilla » 14.02.2010, 11:44

ach so. ja, das wär ne einfache lösung ;)

geht aba nich, weil: ich will kein bestimmtes ergebnis in form einer fertigen webseite erziehlen, sondern einfach nur CSS lernen.

und jetzt grade frag ich mich, warum dieser verdammte container mit dem maintext nicht einsieht, dass er zum rand seines elterncontainers (div#content) einen abstand zu halten hat. seine gefloatete schwester (div#menu) tuts ja schliesslich auch.

nur der maintext macht nich was er soll.

und ich will verstehen warum!

es funktioniert nämlich wirklich nur, wenn ich dem div#maintext die eigenschaft "position: absolute;" zuweise. sonst orientiert er sich für margin-top an div#nav und nicht wie er soll an div#content (seinem elternelement).

aber warum, ist hier die frage.

oder anders:
smilla
neu hier
 
Beiträge: 3
Registriert: 13.02.2010, 20:27

Re: Nachfolger gefloateter Container

Beitragvon sejuma » 14.02.2010, 18:38

Dürfte damit zusammenhängen: http://www.w3.org/TR/CSS21/box.html#collapsing-margins

Lösung: Gib #content ein padding-top und verzichte bei #maintext auf den margin-top
Bild
sejuma
Vielposter
 
Beiträge: 788
Registriert: 15.07.2009, 17:46


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Nachfolger gefloateter Container"

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

Wer ist online?

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