J'essaie d'obtenir une image d'arrière-plan d'un élément HTML (corps, div, etc.) pour étirer toute sa largeur et sa hauteur.
Je n'ai pas beaucoup de chance. Est-ce même possible ou dois-je le faire d'une autre manière en plus d'être une image d'arrière-plan?
Mon CSS actuel est:
body {
background-position: left top;
background-image: url(_images/home.jpg);
background-repeat: no-repeat;
}
Merci d'avance.
Edit: Je n'ai pas envie de maintenir le CSS dans la suggestion de Gabriel, donc je change la mise en page de la page à la place. Mais cela semble être la meilleure réponse, donc je la marque comme telle.
html
css
background-image
Fung
la source
la source
Réponses:
la source
Utilisez la
background-size
propriété: http://www.w3.org/TR/css3-background/#the-background-sizela source
En bref, vous pouvez essayer ceci ...
Où j'ai utilisé quelques css et js ...
Et cela fonctionne très bien pour moi.
la source
Pas sûr que l'étirement d'une image d'arrière-plan soit possible. Si vous trouvez que ce n'est pas possible ou pas fiable dans tous vos navigateurs cibles, vous pouvez essayer d'utiliser une balise img étirée avec un z-index défini plus bas et une position définie sur absolue pour que d'autres contenus apparaissent au-dessus.
Faites-nous savoir ce que vous finissez par faire.
Edit: Ce que j'ai suggéré est essentiellement ce qui est dans le lien de Gabriel. Alors essayez ça :)
la source
Pour développer la réponse @PhiLho, vous pouvez centrer une très grande image (ou une image de toute taille) sur une page avec:
Ou vous pouvez utiliser une image plus petite avec une couleur d'arrière-plan qui correspond à l'arrière-plan de l'image (s'il s'agit d'une couleur unie). Cela peut convenir ou non à vos objectifs.
la source
Si vous avez besoin d'étirer votre image d'arrière-plan lors du redimensionnement de l'écran et que vous n'avez pas besoin de compatibilité avec les anciennes versions de navigateur, cela fera le travail:
la source
Si vous avez une grande image de paysage, cet exemple ici redimensionne l'arrière-plan en mode portrait, de sorte qu'il s'affiche en haut, en laissant vide en bas:
la source
Le code suivant que j'utilise principalement pour obtenir l'effet demandé:
la source
background-size: 100% 100%;
la source
Vous ne pouvez pas en CSS pur. Avoir une image couvrant toute la page derrière tous les autres composants est probablement votre meilleur pari (on dirait que c'est la solution donnée ci-dessus). Quoi qu'il en soit, il y a de fortes chances que cela ait l'air horrible de toute façon. J'essaierais soit une image suffisamment grande pour couvrir la plupart des résolutions d'écran (disons jusqu'à 1600x1200, au-dessus c'est plus rare), pour limiter la largeur de la page, ou simplement pour utiliser une image de cette tuile.
la source
image{
la source
Faites simplement un div pour être l'enfant direct de body (avec le nom de classe bg par exemple), englobant tous les autres éléments du corps, et ajoutez ceci au fichier CSS:
Reportez-vous à ce lien: https://www.w3schools.com/css/css_rwd_images.asp Faites défiler jusqu'à la partie qui dit:
Là, il montre le 'img_flowers.jpg' s'étendant à la taille de l'écran ou du navigateur, quelle que soit la façon dont vous le redimensionnez.
la source
Ça marche pour moi
la source