comment puis-je effectuer un zoom sur une image de fond sur un div avec un background-size
Je veux un élément div pour s'étendre à travers de 33% de la largeur avec une image d'arrière-plan fait dans le css
background-image:url(); background-size:cover
Comment animer un zoom de l'image d'arrière-plan dans la div sur passage de la souris ou mouseneter, est-il un plugin qui peut faire cela? L'arrière-plan div a utiliser background-size:cover parce que c'est un élastique page.
Je n'ai pas de violon encore, parce que je ne sais pas où et comment commencer
Vous devez vous connecter pour publier un commentaire.
Réponse pour ceux qui veulent hack CSS transition le zoom pour obtenir appliquée sur background-size: cover;
- si non, que de lire la deuxième partie de la norme des moyens pour parvenir à de tels effets
Démo (À l'aide de
background-size: cover;
de transition/zoom de l'élément)Comme vous l'avez dit que le passage de la
cover
taille est nécessaire, alors je suis venu avec le truc que j'avais dit précédemment, ici, j'ai un enfant de l'élément imbriqué sousposition: relative;
élément où suis l'enfant de l'élément mis àposition: absolute;
avecbackground-image
avoirbackground-size
ensemble decover
puis surhover
de parent, je zoom dans l'élément à l'aide de latransform: scale(2,2);
propriété.Aussi, une chose essentielle, tout en travaillant avec cette solution est que nous avons besoin pour définir la
z-index
de laposition: absolute;
élément plus faible que ce que les éléments que vous allez placer à l'intérieur, donc il va agir comme unbackground
De réponse pour ceux qui veulent aller nettoyer le HTML et le CSS
Vous ne pouvez pas animer un
background-size
si sa valeur estcover
donc, soit vous devrezpx
ou%
, ou vous pouvez également utiliser unimg
tag avectransform: scale(2,2);
propriété.Démo
Demo 2 (zoom avant ou zoom arrière à partir du centre)
Si vous voulez coller avec
background-size: cover;
que vous aurez à envelopper tout l'élément à l'intérieur d'un élément wrapper avoir des dimensions fixes avecoverflow: hidden;
et que l'échelle de l'élément enfant surhover
de l'élément parent.Comme vous avez dit, pour un
img
balise exemple, vous pouvez utilisertransform: scale(2,2);
à atteindre avec le parent de l'élément mis àoverflow: hidden;
Demo 2
zoom
mais chrome rendra 2 fois plus grand 🙂Vous pouvez faire quelque chose comme cela pour les navigateurs webkit.
Démo Ici
cover
signifie clairement que ceux qui se doit de respecter le temps de l'image ratio d'aspect. Ce qui suggère quelque chose comme Juste à 200% est assez bizarre au moins.