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

Overlappende achtergrond bij resizen window

Pagina: 1
Acties:

  • CoolJuul
  • Registratie: Oktober 2005
  • Laatst online: 26-11 08:58
Ik zit met een probleem en word er inmiddels helemaal tureluurs van. Het zit zo, ik ben sinds kort in de weer met CSS (na jarenlang tabellen gebruikt te hebben) voor positionering, op zich werkt het allemaal aardig, maar het is even een switch en een hoop 'bugtracking'. Het probleem waarmee ik zit is dat een achtergrondafbeelding in de body over de inhoud van de pagina gaat wanneer ik het venster resize. De afbeelding zit onderaan (met background-position: bottom) en als ik het venster kleiner maak in de hoogte gaat 'ie dus over de rest heen.

In IE7 heb ik dat nu op kunnen lossen door een padding-bottom te gebruiken, maar in Firefox werkt dat dus niet, trekt zich er niets van aan. Wat ik dus wil is dat wanneer je het venster minder hoog maakt alles blijft staan, dus ook de achtergrondafbeelding.

Hieronder mijn code. Ik neem aan dat het allemaal nog niet zo zuivere CSS code is, aangezien ik er pas een dag of 2 echt mee in de weer ben, opmerkingen zijn altijd welkom :)

De index.php

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="bovenbalk">
            <div class="balk_inhoud">
                <img src="afbeeldingen/im_logo.gif" class="logo" />
            </div> <!-- einde balk_inhoud -->
        </div> <!-- einde bovenbalk --> 
        
        <div class="gradient">
            <div class="pagina">
                <img src="afbeeldingen/welkom_blok.png" />
                <div class="watwijdoen_inhoud">
                    <img src="afbeeldingen/monitor_explosie.png" class="monitor" />
                </div> <!-- einde watwijdoen_inhoud -->
            </div> <!-- einde pagina -->
        </div> <!-- einde gradient -->


En de CSS file:

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
html                    {   height: 100%; 
                        }

body                    {   text-align: center;
                            margin: 0 0 0 0;
                            cursor: default;
                            background: url(afbeeldingen/onder_gradient.gif) repeat-x bottom;
                            height: 100%;   
                        }   

div.bovenbalk           {   width: 100%;
                            height: 41px; 
                            background: url(afbeeldingen/balk_achtergrond.gif);
                        }
                        
div.balk_inhoud         {   width: 680px;
                            height: 41px;
                            margin-left: auto;
                            margin-right: auto;
                        }
                            
img.logo                {   float: left;
                            margin-left: 50px;
                        }                   
                        
div.gradient            {   position: absolute;
                            top: 41px;
                            left: 0;
                            width: 100%;
                            height: 300px;
                            background: url(afbeeldingen/boven_gradient.gif);
                        }
                        
div.pagina              {   width: 680px;
                            margin-left: auto;
                            margin-right: auto;
                            margin-top: 50px;
                        }
                        
div.watwijdoen_inhoud   {   width: 320px;
                            text-align: left;
                            float: left;
                        }
                    
img.monitor             {   float: left;    
                            margin-left: 10px;
                            margin-right: 10px;
                        }


Alvast heel erg bedankt! Ik zit er nu al twee dagen mee te klooien en heb meerdere malen op het punt gestaan terug te gaan naar tabellen |:(

Verwijderd

een link naar een live voorbeeld is altijd handiger, maar heb je al iets met z-index geprobeerd?

  • Geert.H
  • Registratie: Maart 2001
  • Laatst online: 30-11 19:37
Ik vind het bijzonder dat de background van je body over je content heen gaat. Dat kan niet. (het is namelijk de _achter_grond van de body, de tekst is altijd een laag óp de body. Daarom vermoed ik dus dat je bedoeld dat je background gewoon omhoog mee gaat als je het venster kleiner maakt.
Een oplossing is misschien

code:
1
2
3
body { 
background-attachment: fixed
}
http://w3schools.com/css/pr_background-attachment.asp - Op deze manier blijft je achtergrond staan.

Wat je waarschijnlijk ook wilt gebruiken is position:absolute. Als je een element position:absolute meegeeft dan zal deze niet meer mee gaan als je scrollt. http://w3schools.com/css/pr_class_position.asp

[ Voor 4% gewijzigd door Geert.H op 05-09-2007 08:11 ]


  • CoolJuul
  • Registratie: Oktober 2005
  • Laatst online: 26-11 08:58
Nou, misschien zit ik daar inderdaad fout. De achtergrond-afbeelding is een gradient met transparantie. Dus op een gegeven moment zie je bijvoorbeeld tekst door de afbeelding heen. Inderdaad, het is zo dat de afbeelding eronder blijft, maar feit blijft dat het rommelig eruitziet.

Nu heb ik ook een post hierover op een ander webdesign forum gepost en al wat bruikbare feedback gehad. Iemand daar adviseert me om de achtergrond-afbeelding uit de body te halen en in een allesomvattende div te plaatsen. Ik ga dat eerst eens uitproberen, wellicht dat het dan al opgelost is.