En un motdéfi CSS: Deux images de fond, colonne centrée avec fixe avec, min-height 100%
Je besoin d'une solution CSS pour les exigences suivantes:
- Deux arrière-plan répétées verticalement images, alignées sur la gauche, alignées sur la droite
- Une colonne centrée sur le dessus avec une largeur fixe et une hauteur minimale de 100%
- Compatibilité inter-navigateur
Un peu plus de détails
Aujourd'hui, une nouvelle exigence pour mon projet actuel du site Web est venu: Une image de fond avec des gradients à gauche et à droite (remplace l'image d'arrière-plan du corps en cours). Le défi consiste maintenant à spécifier deux images d'arrière-plan différentes tout en conservant le reste de la spécification de mise en page. Malheureusement, la mise en page (simple) ne va pas avec les deux arrière-plans.
Ma mise en page est essentiellement centrée sur une colonne avec une largeur fixe:
#main_container {
background-color: white;
margin: 0 auto;
min-height: 100%;
width: 800px;
}
En outre, il est nécessaire d'étirer la colonne à une hauteur minimale de 100%, car il y a pas mal de pages avec seulement peu de contenu. Les styles CSS suivants prennent soin de cela:
html {
height: 100%;
}
body {
background-image: url('old-background.png');
margin: 0;
height: 100%;
padding: 0;
}
Jusqu'ici tout va bien - jusqu'à l'arrivée de la nouvelle image de fond du corps avec des dégradés. J'ai essayé les solutions suivantes
- Deux divs positionnés absolu derrière le conteneur principal
- Une image définie avec le corps, l'un avec la classe html CSS
- Une image définie avec le corps, l'autre avec un une grande div engendre le conteneur principal
Avec l'un ou l'autre d'entre eux, la solution de hauteur dynamique a été détruite. Soit le conteneur principal n'a pas étirer à 100% quand il était trop petit, ou l'arrière-plan est resté à 100% lorsque le contenu était en fait plus
Quelle est la largeur des images d'arrière-plan? –
Pekka, on dirait que vous avez supprimé votre premier commentaire. Je voulais dire ce que vous avez d'abord compris: deux images de fond dans le dos, et la colonne centrée sur le dessus avec backgroun blanc solide. – laurent
Donc, votre première solution de table fonctionnerait je suppose. Cependant, à propos de la largeur de l'image de fond: je peux réellement les rendre aussi large que nécessaire. La chose la plus importante est les gradients à gauche et à droite qui sont la raison réelle de l'exigence de deux images. – laurent