CSS: container verdwijnt na floaten blok-element

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Ik heb een probleem waar ik al een paar weken mee aan het worstelen ben, en waar ik maar geen oplossing voor kan vinden.

Als ik onderstaande code toepas, dan is de achtergrondkleur van #container niet zichtbaar.
Als ik de float van #inhoud verwijder, dan is de achtergrondkleur opeens wel weer zichtbaar...

Ik heb echt geen flauw idee wat dat kan veroorzaken. Zoeken met algemene termen op Google gaf geen antwoord in de goede richting.

De HTML:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Bla</title>
<link href="bla.css" rel="stylesheet" />
</head>

<body>
<div id="container">
    <div id="menu">bla</div>
    <div id="inhoud">bla</div>
</div>
</body>
</html>


De CSS:

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
* {
    margin: 0;
    padding: 0;
}

body {
    text-align: center;
    font-family: Verdana;
}

#container {
    margin: 0 auto 0 auto;
    background-color: #FF0000;
    width: 950px;
    heigth: auto;
}

#menu {
    float: left;
    background-color: #00FF00;
    width: 150px;
    height: 300px;
}

#inhoud {
    float: right;
    background-color: #FFFF00;
    width: 640px;
    height: 480px;
}

[ Voor 0% gewijzigd door BtM909 op 10-09-2010 00:32 ]


Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

#container rekt niet mee omdat 'ie alleen floating elementen bevat. Door borders te gebruiken kun je dat direct zien. Als je er een lege div aan toevoegt met clear:both zal 'ie wel meerekken.

Overigens zit er een typo in je css bij #container.
F4T4L_3RR0R schreef op woensdag 08 september 2010 @ 02:58:
Zoeken met algemene termen op Google gaf geen antwoord in de goede richting.
Zoeken met container en div, twee vrij algemene termen die je zelf ook gebruikt, levert best wel wat op.

[ Voor 4% gewijzigd door 8088 op 08-09-2010 03:58 ]

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Heigth in plaats van height inderdaad. :$

De container hoeft geen background-color te hebben, maar ik vond het vreemd dat de container niet zichtbaar was in Firebug Element Inspector.

In principe kan ik de height laten vervallen, omdat de container toch niet meerekt?

Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

Jep. Ook als 'ie wel meerekt kun je height weglaten.

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • Yanik
  • Registratie: April 2002
  • Laatst online: 11-09 13:56
Volgens mij heb je de werking van floats nog niet helemaal door. Je kunt het ook oplossen door de container floatable te maken. Margin auto werkt dan niet dus moet je de site via een ander truukje centreren.
Cascading Stylesheet:
1
2
3
4
5
6
7
8
#container {
    background-color: #FF0000;
    width: 950px;
    position: relative;
    float: left;
    left:50%;
    margin: 0px 0px 0px -475px;
}

Acties:
  • 0 Henk 'm!

  • rhodium
  • Registratie: Augustus 2003
  • Laatst online: 07:09
Er zijn hiervoor betere methodes dan een floatable container |:( .

Bijvoorbeeld:

HTML:
1
2
3
4
5
<div id="container">
    <div id="menu">bla</div>
    <div id="inhoud">bla</div>
    <div class="clear" />
</div>


Cascading Stylesheet:
1
2
3
4
.clear
{
    clear: both;
}


Of bijvoorbeeld:

Cascading Stylesheet:
1
2
3
4
5
6
7
#container {
    margin: 0 auto 0 auto;
    background-color: #FF0000;
    width: 950px;
    heigth: auto;
    overflow: auto;
}


Maar dit is eigelijk basiskennis... :O

Acties:
  • 0 Henk 'm!

  • F4T4L_3RR0R
  • Registratie: September 2005
  • Laatst online: 18-07-2021
Thanks allemaal, het is gelukt en ik kan weer verder. d:)b

Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10

MoietyMe

zij/haar

rhodium schreef op woensdag 08 september 2010 @ 05:00:
Er zijn hiervoor betere methodes dan een floatable container |:( .

Bijvoorbeeld:

HTML:
1
2
3
4
5
<div id="container">
    <div id="menu">bla</div>
    <div id="inhoud">bla</div>
    <div class="clear" />
</div>


Cascading Stylesheet:
1
2
3
4
.clear
{
    clear: both;
}


Of bijvoorbeeld:

Cascading Stylesheet:
1
2
3
4
5
6
7
#container {
    margin: 0 auto 0 auto;
    background-color: #FF0000;
    width: 950px;
    heigth: auto;
    overflow: auto;
}


Maar dit is eigelijk basiskennis... :O
Kan ook korter:

Cascading Stylesheet:
1
2
3
4
5
6
7
#container:after {
content:"u0A00";
display:block;
clear:both;
height:0;
visibility:hidden;
}


Zie je niks van terug in je html :)
}
Pagina: 1