css3制作酷炫的相册集动画

Posted 100素材网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css3制作酷炫的相册集动画相关的知识,希望对你有一定的参考价值。

(给100素材网点亮★号,提升开发技能)

通过css3 style属性和svg代码制作酷炫的图片相册动画特效

特效说明:默认加载时图片黑白色倾斜重叠摆置,当鼠标悬浮于对应图片时图片显示彩色效果并有过度动画

box-shadow:设置图片阴影效果

transition:过度动画

transform-origin:设置旋转元素的基点位置

transform: rotate(deg):图片倾斜角度值  

:first-child:伪类设置第一张图片倾斜角度

:last-child:伪类设置最后一张图片倾斜角度

filter:图片颜色滤镜效果

效果图:

html代码:

<div class="cardfan">
<img src="florence.jpg" id="roma">
<img src="roma.jpg" id="aqueduct">
<img src="bike.jpg" id="bike">
</div>

svg代码:

svg代码用于处理图片颜色滤镜特效

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<filter id="blur">
<feGaussianBlur stdDeviation="3" />
</filter>
</svg>

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<filter id="greyscale">
<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0
0.3333 0.3333 0.3333 0 0
0.3333 0.3333 0.3333 0 0
0 0 0 1 0" />
</filter>
</svg>

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<filter id="sepia">
<feColorMatrix values="0.14 0.45 0.05 0 0
0.12 0.39 0.04 0 0
0.08 0.28 0.03 0 0
0 0 0 1 0" />
</filter>
</svg>

css代码:

div.cardfan { 
width: 33%;
margin: 2rem auto;
position: relative;
}
div.cardfan img {
position: absolute;
width: 100%;
height: auto;
border: 12px solid #ffe;
box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.2);
transform-origin: center 400px;
transition: all 1s linear;
}
div.cardfan img:first-child {
transform: rotate(5deg);
}
div.cardfan img:last-child {
transform: rotate(-5deg);
}
div.cardfan:hover img:first-child {
transform: rotate(25deg);
}
div.cardfan:hover img:last-child {
transform: rotate(-25deg);
}

img#aqueduct {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
filter: url(#greyscale);
filter: gray;
}
img#aqueduct:hover {
-webkit-filter: grayscale(0);
filter: grayscale(0);
filter: none;
}
img#bike {
-webkit-filter: sepia(100%);
filter: sepia(100%);
filter: url(#sepia);
background-color: #5E2612;
filter: alpha(opacity = 50);
}
img#bike:hover {
-webkit-filter: sepia(0);
filter: sepia(0);
filter: alpha(opacity = 100);
filter: none;
}
img#roma {
-webkit-filter: blur(3px);
filter: blur(3px);
filter: url(#blur);
}
img#roma:hover {
-webkit-filter: blur(0px);
filter: blur(0px);
filter: none;
}

代码在线演示:https://codepen.io/dudleystorey/pen/pKoqa

以上是关于css3制作酷炫的相册集动画的主要内容,如果未能解决你的问题,请参考以下文章

CSS3进阶:酷炫的3D旋转透视

案例如何用html5 制作酷炫的Canvas粒子图形变形动画

案例如何用html5 制作canvas酷炫的网状图形动画特效

奇思妙想 CSS 3D 动画 | 仅使用 CSS 能制作出多惊艳的动画?

css CSS3酷炫的渐变色

CSS进阶试试酷炫的 3D 视角