[FF vs IE] DIV background

Pagina: 1
Acties:
  • 1.747 views sinds 30-01-2008
  • Reageer

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 09-04 11:16
Ik ben met een site bezig die bestaat uit meerdere divs waarvan de achtergrond een foto moet zijn. (klinkt vaag.. I know..).
Het probleem is nu dat ik van de middelste div (degene waar de content in moet komen te staan) de achtergrond niet op de juiste plek kan krijgen in FF. In IE gaat het (voor de verandering) eens probleemloos.
Voorbeelden:
Afbeeldingslocatie: http://home.student.utwente.nl/g.bos/ff_background.jpg
Afbeeldingslocatie: http://home.student.utwente.nl/g.bos/ie_background.jpg

Dit is de code die ik gebruikt heb.

code:
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
    <body>
        <div id='container'>
            <div id='top'>
                Top
            </div>
            <div id='center'>
                <div id='left'>
                    left
                </div>
                <div id='menu'>

                </div>
                <div id='main'>
                    <div id='text'>
    
                    </div>
                </div>
                <div id='right'>
                    right
                </div>
            </div>
            <div id='bottom'>
                bottom
            </div>
        </div>
    </body>


code:
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
63
64
65
66
67
68
69
70
71
/* Pagina structuur */

#container{
    position: absolute;
    left: 50%;
    margin-left: -400px; /* (width/2) zorgt er icm left en position voor dat je een gecentreerde floating box krijgt.*/
    width: 800px;
}

#top{
    position: relative;
    width: 100%;
    height: 100px;
    background: transparent url('../images/top.gif') no-repeat;
}

#center{
    position: relative;
    width: 100%;
    height: 400px;
}

#bottom{
    position: relative;
    width: 100%;
    height: 75px;
    background: transparent url('../images/bottom.gif') no-repeat;
}

#left{
    position: absolute;
    left: 0px;
    top: 0px;
    height: 400px;
    width: 100px;
background: transparent url('../images/left.gif') no-repeat;
}

#menu{
    position: absolute;
    left: 100px;
    top: 0px;
    height: 400px;
    width: 150px;
    overflow: hidden;
    background: transparent url('../images/menu.gif') no-repeat;
}

#main{
    position: relative;
    left: 250px;
    height: 400px;
    width: 450px;
    overflow: auto;
    background: transparent url('../images/main.gif') no-repeat;
    background-attachment: fixed;
}

#text{
    width: 400px;
    margin: 15px;
}

#right{
    position: absolute;
    right: 0px;
    top: 0px;
    height: 400px;
    width: 100px;
    background: transparent url('../images/right.gif') no-repeat;
}


Ik heb al vanalles geprobeerd, maar als ik het in FF fix (door een absolute positie op te geven oid) dan gaat de pagina in IE helemaal flippen...

Weet iemand hoe ik dit wel werkend kan krijgen?

BTW, probleem begon toen ik background-attachement: fixed; ging gebruiken voor de content div. maarja, aangezien dat een vereiste is voor de site...

BTW2, Foto die ik gebruik is om te testen, moet nog wel wat anders komen :+

The easiest way to solve a problem is just to solve it.


Verwijderd

Gooi gewoon de hele achtergrond in de div die je container hebt genoemd? Of lost dit het probleem niet op?

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 09-04 11:16
het probleem is dat de div die de content bevat straks een ander image moet worden...

The easiest way to solve a problem is just to solve it.


Verwijderd

dan zou ik dit veranderen:

#main{
position: relative;
left: 250px;
height: 400px;
width: 450px;
overflow: auto;
background: transparent url('../images/main.gif') no-repeat;
background-attachment: fixed;
}

wordt:

#main{
position: relative;
left: 250px;
height: 400px;
width: 450px;
overflow: auto;
background: url('../images/main.gif') no-repeat top left;
padding: 0;
margin: 0;
}

*dat transparante kun je volgens mij beter in het plaatje zelf doen..

[ Voor 11% gewijzigd door Verwijderd op 06-02-2006 19:07 ]


  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025

RSpliet

*blink*

trinite_t schreef op maandag 06 februari 2006 @ 19:03:
het probleem is dat de div die de content bevat straks een ander image moet worden...
Ja maar het moet toch wel een geheel worden? Dan hoef je (neem ik aan) de foto heel niet te verknippen. Maar vooruit, de div moet niet absolute worden gepositioneerd:
Note: For absolutely positioned elements whose containing block is based on a block-level element, this property is an offset from the padding edge of that element.

Schaadt het niet, dan baat het niet


  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 09-04 11:16
als ik alles naar position: relative; zet, dan breekt alles uit elkaar!
Dan gaan alle divs die in center naast elkaar moeten komen te staan onder elkaar staan (wel op hun goede horizontale positie).
En volgens mij staat het image nu nog niet op de goede plek in FF.

The easiest way to solve a problem is just to solve it.


  • Pixeldude
  • Registratie: November 2004
  • Laatst online: 23-09-2024
Dit had ik laatst ook nog, Firefox zet de background img echt fixed dus links boven. Ik heb dit toen opgelost door daarin nog een div te plaatsen zonder achtergrond afbeelding of kleur. En fixed weg te laten uiteraard :)

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 09-04 11:16
je bedoelt dus voor mij dan, om nog onder de main div een background div te zetten zonder overflow...
hmmz, das idd een goed id! ga ik direct uitproberen!!!

[edit]
Het werkt nu helemaal zoals het zou moeten, in ff en ie _/-\o_
Hartstikke bedankt! (en ik gebruikte het id eigenlijk ook al voor die scrollbalk.. dat ik er niet opgekomen ben om 't hier ook voor te gebruiken... O+ )

[ Voor 42% gewijzigd door trinite_t op 06-02-2006 22:18 ]

The easiest way to solve a problem is just to solve it.

Pagina: 1