Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[css] Css probleem in firefox ie werkt

Pagina: 1
Acties:

  • Defector
  • Registratie: December 2005
  • Niet online
Ik heb een simpele lay out van een banner een top menu en daaronder een links menu en een content gedeelte. De links menu en het content gedeelte zijn naast elkaar gefloat en gecentreerd doormiddel van margin's. Nu wil ik onder deze twee elementen een gedeelte over laten zodat de pagina niet direct afgekapt wordt. Bij ie kan ik dit realiseren door of in html een &nbsp of in css een div te gebruiken. Bij firefox werkt dit niet. Wat wel werkt is als ik tekst langer maak dan de afstand die rechts nog over is tot de scrolbalk maar dit werkt niet met een div zolang te maken.

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="banner">
</div>

<div class="topmenu">
</div>

<div class="menuEnContentCenter">
    <div class="leftmenu">
    </div>
    
    <div class="content">
    </div>
</div>

<div class="empty"> 
&nbsp;                     
</div>

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.empty{
    margin-left:auto;
    margin-right:auto;
    height:10px;
}
.menuEnContentCenter{
    margin-left: auto;
    margin-right: auto;
    width: 800px;
}
.content{
    background-color: #FFFFCC;
    background-image: url(content.png);

    width: 600px;
    height: 600px;
    
    position:relative;
    left:10px;
    top: 20px;
    
    float:left;
}

.leftmenu{
    background-color: #FFFFCC;
    background-image: url(left-menu.png);
    
    float:left;
    
    width: 200px;
    height: 600px;
    
    position:relative;
    top:20px;
}
.topmenu{
    background-color: #FFFFCC;
    background-image:url(top-menu.png);
    
    width: 800px;
    height: 40px;
    
    margin-left: auto;
    margin-right: auto;
    
    position:relative;
    top:10px;
}
.banner{
    background-color: #FFFFCC;
    background-image: url(banner.png);
    
    height:120px;
    width:800px;
    
    margin-left: auto;
    margin-right: auto;
}
body {
    background-color: #FFFFCC;
}


hoe kan ik dit het beste aanpakken?

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
Voeg dit eens toe, dit zal de floats 'clearen', zie ook hoofdstuk 9.5 van het visual formatting model.
Cascading Stylesheet:
1
2
3
.menuEnContentCenter{ 
    overflow: hidden;
}


Het volgende kan ook helpen:
Cascading Stylesheet:
1
2
3
.empty {
    clear: both;
}

If I can't fix it, it ain't broken.


Verwijderd

Niet getest, maar ik zou 't gooien op een 'overflow: auto' en een 'margin-bottom' op je menuEnContentCenter. Door de overflow zou die div om je floats heen wrappen, en je margin eronder zorgt dan voor je extra ruimte. Is ook wat netter i.t.t. een spacer div.

  • Defector
  • Registratie: December 2005
  • Niet online
dat werkt allebei niet met overflow hidden kapt firefox de div af en auto worden de elementen weer onderelkaar gezet. En margin bottom voegt niks toe aan het hele verhaal.

Beetje tevroeg gereageerd als ik een div gebruikt waarin clear:both in de css wordt aangegeven werkt het wel.

[ Voor 25% gewijzigd door Defector op 13-10-2007 16:05 ]