Maison >interface Web >tutoriel CSS >Comment transitionner correctement les images d'arrière-plan avec CSS3 ?

Comment transitionner correctement les images d'arrière-plan avec CSS3 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 00:01:09324parcourir

How to Properly Transition Background Images with CSS3?

Maîtriser les transitions d'image d'arrière-plan CSS3

Dans le but de créer un effet de « fondu entrant et fondu sortant » accrocheur, vous êtes tombé sur un défi inattendu en essayant pour appliquer la propriété de transition CSS à une image d'arrière-plan. Examinons ci-dessous une solution complète :

Le CSS fourni dans votre code :

.title a {
    display: block;
    width: 340px;
    height: 338px;
    color: black;
    background: transparent;
    /* TRANSITION */
    -webkit-transition: background 1s;
    -moz-transition: background 1s;
    -o-transition: background 1s;
    transition: background 1s;
}

.title a:hover {
    background: transparent;
    background: url(https://lh3.googleusercontent.com/-p1nr1fkWKUo/T0zUp5CLO3I/AAAAAAAAAWg/jDiQ0cUBuKA/s800/red-pattern.png) repeat;
    /* TRANSITION */
    -webkit-transition: background 1s;
    -moz-transition: background 1s;
    -o-transition: background 1s;
    transition: background 1s;
}

Le code ci-dessus démontre une tentative louable, mais il ne parvient pas à tenir compte d'une distinction subtile mais critique entre la propriété background et la propriété background-image. Pour animer l'image d'arrière-plan, vous devez appliquer la transition vers "background-image" au lieu de simplement "background".

Voici le code mis à jour :

.title a {
    display: block;
    width: 340px;
    height: 338px;
    color: black;
    background: transparent;
    /* TRANSITION */
    -webkit-transition: background-image 1s;
    -moz-transition: background-image 1s;
    -o-transition: background-image 1s;
    transition: background-image 1s;
}

.title a:hover {
    background: transparent;
    background: url(https://lh3.googleusercontent.com/-p1nr1fkWKUo/T0zUp5CLO3I/AAAAAAAAAWg/jDiQ0cUBuKA/s800/red-pattern.png) repeat;
    /* TRANSITION */
    -webkit-transition: background-image 1s;
    -moz-transition: background-image 1s;
    -o-transition: background-image 1s;
    transition: background-image 1s;
}

Cet ajustement devrait permettre la fluidité transition que vous recherchez pour votre image d’arrière-plan. N'oubliez pas que lorsque vous travaillez avec des images d'arrière-plan dans des transitions CSS, spécifiez toujours "background-image" comme cible de votre propriété de transition.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn