Height:auto funktioniert nicht! Help me pls !

Hallo , ich habe folgendes Problem:

Text
Text
Text
Text
Text
Text

Text
Text
Text
Text

Langer Text.

Text
Text
Text
Text
Text
Text

CSS:
#mainmain{
width:1264px;
height:auto;
background: -moz-linear-gradient(top,#e2e2ff,#b4b4dd);
margin-left:-8px;}
#main{
font-family:Arial, Helvetica, sans-serif;
background-color:#FFF;
width:910px;
height:3100px;
margin-left:13%;
padding-left:10px;
padding-right:10px;
padding-top:10px;
padding-bottom:10px;
border-left:2px solid #5c5c9e;
border-right:2px solid #5c5c9e;
}
#mininavi{
margin-top:20px;
float:left;
width:149px;
height:auto;
border-right:1px solid #000;
}

ich will dass die Höhe bei #main auto ist , dass es sich auf den gesamten Text anpasst. Das funktioniert aber nicht. Wenn ichs auf auto stelle dann wird die Höhe gleich 0px gesetzt.
Kann mir jemand helfen?

Hallo lolipop;

ich will dass die Höhe bei #main auto ist , dass es sich auf
den gesamten Text anpasst. Das funktioniert aber nicht. Wenn
ichs auf auto stelle dann wird die Höhe gleich 0px gesetzt.
Kann mir jemand helfen?

per default steht der wert ja auf „auto“ = der browser rechnet die höhe selber aus.

floats werden aus dem „Fluss“ der html-Element herausgenommen da minnavi mit float im main steht … ist main quasi „leer“ (ohne Inhalt) und somit 0px hoch

Gruß
Klaus

p.s.
benutze doch mal PREHTML, da dann die „“ maskiert werden und der source zu lesen ist

Leider habe ich erst vor kurzem angefangen HTML und CSS zu lernen , deswegen habe ich nur einen ganz kleinen Teil von dem was du geschrieben hast verstanden.
Wäre es möglich dass du es etwas genauer erklärst oder einfach nur sagst was ich machen soll dann werde ichs schon verstehen.
Danke für die Antwort !

nimm aus dem #mininavi den float raus

#mininavi{
margin-top:20px;
float:left;
width:149px;
height:auto;
border-right:1px solid #000;
}

ich schätze mal, das im #right auch ein float steht, das auch rausnehmen

… und #main müsste sich „entfalten“ :smile:)

Aaa, super! Wircklich vielen Dank !!!
Aber ich habe noch eine Frage. Dadurch dass ich float weg nehme kann ich bei #mininavi kein background color machen. Oder auch border funktioniert nicht. Der Text von #right ist dann auch unter meinem mininavi ^^. Wie macht man dass der platz unter #mininavi frei ist ?

Danke !!! Hast mir schon oft geholfen , ich weiss es zu schätzen !

Wie macht man dass der platz unter #mininavi frei ist ?

verstehe das so, dass Du 2 Html-Elemente „nebeneinander“ haben möchtest.

eine Möglichkeit bei Block-Elementen: Positionierung mit top und left

zweite Möglichkeit: du nimmst Inline-Elemente und gibst Ihnen soviel Breite, dass sie nebeneinander Platz haben

Also ich habe div1 und div2.
Wrapper width:1000px;
div1 width:200px;height:100px;
div2 width:800px;height:1000px;

div1 ist links und rechts ist div2. aber nach dem ich float weggenohmen habe ist der text von div2 auch undter div1.Er geht da also weiter. Ich will aber dass die Höhe von div1 an die höhe von div2 angepasst wird und dass es unter div1 der Platz frei ist.So ist es aber nur wenn bei der css-datei von #div1 a{float:left;} steht. Wenn ich bei float:left wegnehme dann ist div2 unter dem div1.
Ich hoffe ich habe es verständlich geschrieben.

Also ich habe div1 und div2.
Wrapper width:1000px;
div1 width:200px;height:100px;
div2 width:800px;height:1000px;

so???


div {position:absolute; margin:0px;padding:0px;}
#wrapper {width:1005; height:1002; }
#div1 {
top:1px; left:1px;
width:200px;
height:100%;}
#div2 {
top:1px; left:203px;
width:800px;
height:100%;}

div1
div2


hm… guck dir das bitte an. nur dass du es dir bildlich besser vorstellen kannst und nicht die ganze css datei durchlesen musst. Erst ist der header, dadrunter ist dann mainmain. Im mainmain ist div main wo der ganze text und so drin steht. Main ist in der mitte von mainmain . Höhe bei main und mainmain ist gleich. Breite aber nicht. Mainmain ist breiter. In main ist #mininavi und #right.#mininavi sollte links sein und gleich daneben also rechts soll #right sein. Das funktioniert aber i-wie nicht. Das geht nur mit float aber wenn ich float nehme dann muss ich stendig die Höhe für #main verändern. Kannst du mir bitte helfen? Ich komme nicht mehr weiter.
Danke !

[Willkommen](file:///Z%257C/home/neuland-bauermeister.de/www/home.html)
Über Uns
Neues
Kontakt
So finden Sie Uns
Gästebuch

dasdsasasasasasasasasasasasasasasasasasasasasasaasasasasasaasasasasasa asasasasasaasasasasasaasasasasasaasasasasasaasasasasasav asasasasasa asasasasasa asasasasasa asasasasasaasasasasasa asasasasasa asasasasasa

Willkommen
Über Uns
Neues
Kontakt
So finden Sie Uns
Gästebuch

hm… guck dir das bitte an. nur dass du es dir bildlich
besser vorstellen kannst und nicht die ganze css datei
durchlesen musst. Erst ist der header, dadrunter ist dann
mainmain. Im mainmain ist div main wo der ganze text und so
drin steht. Main ist in der mitte von mainmain . Höhe bei main
und mainmain ist gleich. Breite aber nicht. Mainmain ist
breiter. In main ist #mininavi und #right.#mininavi sollte
links sein und gleich daneben also rechts soll #right sein.

öhm … so ganz klar ist das nicht
in main soll der ganze text stehen und links und rechts (vom Text? ) noch mininavi und right?

warum nicht so???


div { margin:0px;padding:0px;}
#wrapper {width:1002px}
#header {background-color:lightblue; height:50px}
#mainmain {position:relative;}

#mininavi {
position:absolute;
top:1px;
background-color:coral;
width:200px; }

#mitte {
position:absolute;
top:1px; left:201px;
background-color:yellow;
width:600px; }

#right {
position:absolute;
top:1px; left:802px;
background-color:stuck_out_tongue:ink;
width:200px; }


Header

mininavi
mitte
mitte
mitte
mitte
mitte

rechts
rechts


Nein.In #main wird nur #mininavi und Text(also #right) sein. #Mininavi befindet sich links in #main und der ganze Text rechts in #main.