2012-09-16 1 views
2

J'ai une page avec 2 images d'arrière-plan, l'une d'entre elles doit apparaître en bas de la page. À l'heure actuelle, je l'ai mis en œuvre comme ceci:Comment forcer l'arrière-plan HTML vers le bas lorsque la page est plus petite que la fenêtre

body { 
    background-image: url('/cheri/image/background.png'), 
         url('/cheri/image/backgroundB.png'); 
    background-position: top, bottom; 
    background-repeat: repeat-x, repeat-x; 
} 

Cela fonctionne bien lorsque le contenu de la page est supérieure à la fenêtre du navigateur, mais si elle est plus petit un espace blanc vide est laissé sous l'image d'arrière-plan, comme dans cette image:

http://img198.imageshack.us/img198/4560/screenshot20120916at851.png

J'ai essayé de mettre le corps en position: absolute, hauteur: 100%, mais il n'a pas rendu correctement lors du défilement était présent. J'ai également essayé de créer une div séparée pour l'image d'arrière-plan et de la positionner en bas, mais comme j'ai des propriétés de position différentes pour certains éléments qui se trouvent en bas, l'indexation z ne fonctionnait pas correctement.

Merci pour toute aide!

+0

image multipe en arrière-plan image va créer le problème ci-dessous Internet Explorer (9.0) –

+0

Merci, mais je peux résoudre ce problème. Ce problème existe indépendamment du fait que j'utilise 2 images d'arrière-plan ou 1 .. – ValtsBlukis

+0

Il semblerait que vous n'ayez pas correctement défini la position de l'arrière-plan, il s'attend à un argument comme "en haut à gauche" pour chaque arrière-plan. Ce que vous devriez probablement définir pour background-position est "0 top, 0 bottom" – DrCord

Répondre

8

Utilisez min-height: 100% sur les deux html et body:

html, body { min-height: 100%; } 

DEMO

Il ne crée pas de problèmes lorsque vous avez assez de contenu pour faire défiler .

DEMO

1

Définir l'élément HTML ainsi:

html { 
    background-image: url('/cheri/image/background.png'), url('/cheri/image/backgroundB.png'); 
    background-position: top, bottom; 
    background-repeat: repeat-x, repeat-x; 
} 
Questions connexes