Maison >interface Web >tutoriel CSS >Décorations d'image fantaisie: contours et animations complexes
Cet article de conclusion dans notre série en trois parties sur les décorations d'images créatives explore les techniques CSS avancées, en tirant spécifiquement la propriété outline
souvent soudée au-delà de sa fonction typique de bordure. Les articles précédents se sont concentrés sur les gradients; Celui-ci plonge dans la réalisation d'effets et d'animations complexes uniquement en utilisant l'élément <img alt="Décorations d'image fantaisie: contours et animations complexes" >
.
Commençons par un effet de survol: une superposition qui s'estompe avec élégance. Au lieu d'employer des éléments HTML supplémentaires, nous exploitons la capacité de la propriété outline
à avoir des décalages négatifs et à chevaucher son élément.
img { --s: 250px; /* image size */ --b: 8px; /* border thickness */ --g: 14px; /* gap */ --c: #4ECDC4; width: var(--s); aspect-ratio: 1; outline: calc(var(--s) / 2) solid #0009; /* large, semi-transparent outline */ outline-offset: calc(var(--s) / -2); /* negative offset for overlay */ cursor: pointer; transition: 0.3s; } img:hover { outline: var(--b) solid var(--c); /* smaller, colored outline on hover */ outline-offset: var(--g); /* positive offset for hover effect */ }
Le contour initial grand, semi-transparent, agit comme notre superposition. L'état :hover
modifie la taille et la couleur du contour, créant une animation lisse. Cette technique peut également produire des effets de décoloration sans mouvement de contour.
Pour l'évolutivité, un grand outline-width
(par exemple, 100vmax
) combiné à un masque CSS élimine le besoin de dimensionnement d'image explicite. Remarque: Safari peut nécessiter d'utiliser la moitié de la taille de l'image au lieu de 100vmax
.
Au-delà des superpositions simples, nous pouvons créer des formes en utilisant des masques clip-path
ou CSS, combinés avec l'astuce de contour, pour générer des animations de révélation complexes. Les possibilités sont vastes: les étoiles, les cœurs et d'innombrables autres formes sont réalisables. De plus, ces formes sont facilement animées en utilisant les capacités d'animation de clip-path
et les techniques de gradient détaillées dans les articles précédents.
Bien que certaines animations puissent sembler légèrement imparfaites dans cette démonstration (nécessitant une optimisation pour l'utilisation de la production), elles présentent la puissance de cette méthode. Un autre exemple utilise un masque CSS pour un effet plus lisse.
La propriété outline
offre une polyvalence surprenante pour les améliorations d'image. Ajoutez-le à votre arsenal CSS pour créer des décorations d'image visuellement étonnantes et interactives.
Ayant exploré les gradients, les masques, l'écrasement et les contours, combinons ces techniques pour démontrer leur flexibilité et leur modularité. Les effets impressionnants montrés sont obtenus uniquement avec l'élément <img alt="Décorations d'image fantaisie: contours et animations complexes" >
- aucun div ou pseudo-éléments supplémentaires n'est nécessaire.
Cette série a exploré de nombreuses techniques pour transformer des images simples en éléments interactifs engageants. Bien que vous ne puissiez pas utiliser toutes les techniques, l'objectif était de mettre en évidence les capacités CSS avancées, y compris les gradients, les masques, clip-path
et outline
. N'oubliez pas, avant d'ajouter du HTML supplémentaire, déterminez si CSS seul peut atteindre l'effet souhaité.
Pour des effets d'image plus avancés, visitez mon site Web CSS Tip. Les exemples incluent:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!