Div's lopen over elkaar heen

  • Onderwerp starter Onderwerp starter leoj
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

leoj

Gebruiker
Lid geworden
16 jan 2008
Berichten
67
Ik heb al flink zitten zoeken in deze site, maar kan geen oplossing vinden. Ik heb 4 div's gemaakt in een container. De eerste div moet in zijn geheel de gehele breedte beslaan.De tweede en de derde div moeten naast elkaar onder de eerste div komen. De derde div moet komen onder de tweede of de derde div, afhankelijk welke van de twee div's het lansgt worden. ( in de twee div komt het menu, in de derde div kom alleen tekst, en dat in meerdere pagina's) Kort omschreven moet het eruit zien als onderstaande.

container open
div1
div2, div3
div4
container sluiten

Als ik nu in Div drie veel tekst onder elkaar zet,loop de tekst door div drie heen, en loopt zelfs de container uit. Als je naar de kleurtjes kijkt die ik iedere div heb gegeven, gaat div 4 zelfs achter div3 beginnen. Ik hoop dat dit duidelijk is en dat er iemand een oplossing heeft, ik heb hier al twee dagen mee bezig.

CSS file
Code:
#container {
	margin: auto;
	width: 980px; 
	height: auto;
	border-color: #000000;
	border: 2px solid;
	}

#d1 {
	background-color:red; 
	width: 960px; 
	}

#d2 {
	background-color: #CCCC00;
	width: 200px;
	}

#d3 {
	background-color: #FF0099;
	width: 450px;
	}

#d4 {
	background-color: green;
	width: 960px;
	}

#d2, #d3 {
	float: left
	}
HTML file
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="pagina.css" type="text/css" media="screen" />
<style type="text/css">
<!--
.style1 {font-size: 8pt}
-->
</style>
</head>
<body>
	<div id="container">
		<div id="d1">div 1</div>
		<div id="d2">div 2<br>div 2</div>
		<div id="d3">div 3<br>div 3<br>div 3<br>div 3<br>div 3<br>div 3<br>div 3<br>div 3<br>div 3</div>
		<div id="d4">div 4<br>div 4<br>div 4<br>div 4<br>div 4</div>
	</div>
</body>
</html>
 
Laatst bewerkt door een moderator:
Je hebt div 2 en div 3 gefloat. Dat betekent dat ze min of meer niet meer meetellen voor wat er daarna komt. Dat is bij jou div 4.
Dus div 4 wordt gewoon onder div 2 en 3 gezet, want die tellen niet mee (ze zijn uit de 'flow' van de pagina gehaald).

De INHOUD van div 4, de tekst, gedraagt zich iets anders: die wordt wel netjes áchter div 2 en div 3 gezet. Zo hoort dat gewoon bij gefloate elementen.

(Je zou div 2 en 3 ook als 'n afbeelding kunnen zien. Als je die float, komt de tekst ook ernaast te staan, en niet eronder.)

Als je bij div 4 toevoegt in de css {clear: both;}, dan komt hij netjes ónder div 2 en 3 te staan.

Als je div 2 en div 3 'n achtergrondkleur wilt geven die bij beide even hoog is, dus van boven tot onder, moet je daar 'n afbeelding voor gebruiken. Dat heet 'faux columns'.
Je maakt 'n plaatje van 1 px hoog en de juiste breedte. Of beter nog: 'n stuk breder dan nodig is, als je dan later je pagina breder maakt past 't nog.
Links maak je dat oker (van div 2) en rechts paars (van div 3). (De namen van de kleuren kloppen misschien niet, ik ben kleurenzwak, grinnik.)
Dat plaatje zet je als achtergrondafbeelding in #container. Nu lijkt het of de twee kolommen 'n verschillende achtergrond hebben, terwijl dat niet zo is. Vandaar de naam 'nepkolommen'.
 
Laatst bewerkt:
Goeroeboeroe, Je bent de beste, jij hebt precies door waar ik het over heb. Maar, ik wilde zojuist neerzetten dat ik "ineens" het probleem verholpen heb. Wel errug jammer dat ik er zelf direct achterkwam toen ik hier mijn vraag stelde. De oplossing die ik nu heb gedaan, het float: left; commando (#d2, #d3 {float: left} heb ik onder #d3 gezet. In #d4 ben ik begonnen met clear: left;, en klaar was kees (in dit geval Leo)

Thanx, en sorry dat ik je eigenlijk voor niets heb lastig gevallen
 
Da's natuurlijk 't leukste, als je 't zelf hebt gevonden. Dit is trouwens 'n echte gekmakertje. Als je 't weet, is 't simpel. Maar je moet 't wel eerst weten...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan