Home > Web Front-end > CSS Tutorial > CSS realizes background gradient image transition transition effect

CSS realizes background gradient image transition transition effect

小云云
Release: 2018-03-28 11:09:46
Original
4437 people have browsed it

This article mainly introduces to you the relevant information that explains the CSS background gradient image transition effect techniques in detail. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor to take a look, I hope it can help everyone.

1. background-image does not support CSS3 transition

background-image does not support CSS3 transition, and CSS3 gradient exists as a background image Sometimes, the following CSS settings will not have a transition effect.


.gradient {
  background-image: linear-gradient(to right, olive, green);
  transition: background-image 0.5s linear;
}
.gradient:hover {
  background-image: linear-gradient(to right, green, purple);
}
Copy after login

When you hover the mouse, you will find that the gradient changes are very abrupt and there is no transition effect at all.

The following question arises. If we want to achieve a transition effect when the gradient hovers, how to achieve it? Here are a few possible methods.

2. Use background-position to achieve gradient transition

Background-image does not support CSS3 transition, but background-position does. Therefore, by controlling the background position, we can achieve a gradient transition effect.

The effect is as follows (mouse hover):

The relevant code is as follows:


<p class="box"></p>
Copy after login
Copy after login


.box {
    max-width: 400px;
    height: 200px;
    background: linear-gradient(to right, olive, green, purple);
    background-size: 200%;
    transition: background-position .5s;    
}
.box:hover {
    background-position: 100% 0;    
}
Copy after login

3. Use background-color to achieve gradient transition

background-image Although it does not support CSS3 transition, background-color supports it, so by controlling the background color , and a color rendering technique, we can also achieve a gradient transition effect.

Comparison of the effects of mouse hover before and after:

The relevant codes are as follows:


<p class="box"></p>
Copy after login


.box {
    max-width: 400px;
    height: 200px;
    background: olive linear-gradient(to right, rgba(0,255,0,0), rgba(0,255,0,.5));
    transition: background-color .5s;    
}
.box:hover {
    background-color: purple;    
}
Copy after login

4. Use pseudo elements and opacity to achieve gradient transition

Use pseudo elements to create a transformed gradient effect, and achieve a gradient transition effect by changing the opacity of the covered gradient.

The picture below shows the effect after hover:

The relevant code is as follows:


##

<p class="box"></p>
Copy after login
Copy after login


.box {
    max-width: 400px; height: 200px;
    background: linear-gradient(to right, olive, green);
    position: relative;
    z-index: 0;    
}
.box::before {
    content: &#39;&#39;;
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, green, purple);
    opacity: 0;    
    transition: opacity .5s;
    z-index: -1;
}
.box:hover::before {
    opacity: 1;    
}
Copy after login

The above is the detailed content of CSS realizes background gradient image transition transition effect. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
css
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template