CSS 转换 html 页面从黑白到彩色 css?
CSS transition html page from black white to color with css?
只是想知道它是否可能,但我正在尝试在加载时制作我的页面,在大约 4 秒的时间内从黑白过渡到彩色 - 整个页面、文本、div、图像,所有内容。
我已经制作了一张黑白图像,可以通过悬停过渡到彩色版本,它是否与此类似?但是有了包装纸?
img.desaturate {
animation: toColour 10s;
}
@keyframes toColour {
0% { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
25% { -webkit-filter: grayscale(75%); filter: grayscale(75%); }
50% { -webkit-filter: grayscale(50%); filter: grayscale(50%); }
50% { -webkit-filter: grayscale(25%); filter: grayscale(25%); }
100% { -webkit-filter: grayscale(0%); filter: grayscale(0%); }
}
或者让每个东西都带有颜色单独过渡?
仅 css 是否有更好的方法或可能的方法?
提前致谢
我不明白为什么不,只需在包装器中使用您的动画即可:
代码片段:
@keyframes toColour {
0% {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
25% {
-webkit-filter: grayscale(75%);
filter: grayscale(75%);
}
50% {
-webkit-filter: grayscale(50%);
filter: grayscale(50%);
}
50% {
-webkit-filter: grayscale(25%);
filter: grayscale(25%);
}
100% {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
}
.wrapper {
background-color: royalblue;
animation: toColour 4s;
}
p {
color: cyan;
}
<div class="wrapper">
<p>
Example text with color
</p>
<img src="http://fillmurray.com/500/500">
</div>
除非你尝试,否则你永远不会知道。看看这个
.desaturate, .desaturate * {
animation: toColour 7s;
}
@keyframes toColour {
0% { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
25% { -webkit-filter: grayscale(75%); filter: grayscale(75%); }
50% { -webkit-filter: grayscale(50%); filter: grayscale(50%); }
50% { -webkit-filter: grayscale(25%); filter: grayscale(25%); }
100% { -webkit-filter: grayscale(0%); filter: grayscale(0%); }
}
<div class="desaturate">
<img src="http://images.freeimages.com/images/previews/476/green-fly-on-orange-flower-1366361.jpg" alt="" width="200" height="200"/>
</div>
只是想知道它是否可能,但我正在尝试在加载时制作我的页面,在大约 4 秒的时间内从黑白过渡到彩色 - 整个页面、文本、div、图像,所有内容。
我已经制作了一张黑白图像,可以通过悬停过渡到彩色版本,它是否与此类似?但是有了包装纸?
img.desaturate {
animation: toColour 10s;
}
@keyframes toColour {
0% { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
25% { -webkit-filter: grayscale(75%); filter: grayscale(75%); }
50% { -webkit-filter: grayscale(50%); filter: grayscale(50%); }
50% { -webkit-filter: grayscale(25%); filter: grayscale(25%); }
100% { -webkit-filter: grayscale(0%); filter: grayscale(0%); }
}
或者让每个东西都带有颜色单独过渡?
仅 css 是否有更好的方法或可能的方法?
提前致谢
我不明白为什么不,只需在包装器中使用您的动画即可:
代码片段:
@keyframes toColour {
0% {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
25% {
-webkit-filter: grayscale(75%);
filter: grayscale(75%);
}
50% {
-webkit-filter: grayscale(50%);
filter: grayscale(50%);
}
50% {
-webkit-filter: grayscale(25%);
filter: grayscale(25%);
}
100% {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
}
.wrapper {
background-color: royalblue;
animation: toColour 4s;
}
p {
color: cyan;
}
<div class="wrapper">
<p>
Example text with color
</p>
<img src="http://fillmurray.com/500/500">
</div>
除非你尝试,否则你永远不会知道。看看这个
.desaturate, .desaturate * {
animation: toColour 7s;
}
@keyframes toColour {
0% { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
25% { -webkit-filter: grayscale(75%); filter: grayscale(75%); }
50% { -webkit-filter: grayscale(50%); filter: grayscale(50%); }
50% { -webkit-filter: grayscale(25%); filter: grayscale(25%); }
100% { -webkit-filter: grayscale(0%); filter: grayscale(0%); }
}
<div class="desaturate">
<img src="http://images.freeimages.com/images/previews/476/green-fly-on-orange-flower-1366361.jpg" alt="" width="200" height="200"/>
</div>