Heim > Web-Frontend > HTML-Tutorial > CSS3悬浮动画效果_html/css_WEB-ITnose

CSS3悬浮动画效果_html/css_WEB-ITnose

WBOY
Freigeben: 2016-06-24 11:46:13
Original
998 Leute haben es durchsucht

      利用CSS3的伪类元素hover以及transform,transition等动画属性,可以做出一些炫酷的动画效果。下面将一些项目中使用到的示例发布出来,供大家一起学习研究。演示地址:runjs

浏览器兼容:Chrome,Safari,IE10及以上,IE9不支持渐变效果,IE8以下不支持。

transform:该属性允许我们对元素进行旋转(rotate)、缩放(scale)、移动(translate)或倾斜(skew)。

transition:过渡属性,该属性为简写属性,用于设置4个过渡属性:

  • transition-property :规定设置过渡效果的CSS属性的名称。
  • transition-duration :规定完成过渡效果需要多少秒。
  • transition-timing-function :规定速度效果的速度曲线。
  • transition-delay:定义过渡效果何时开始。
  • 公共原则:

    首先定义好悬浮前的css样式,hover out的过渡属性(transition),并且设置透明度(opacity)为0,通过:hover伪类来设置悬浮后的样式,过渡属性(transition,如果设定该属性则元素的过渡效果按照设定的值进行变化同时hover out后按照hover前定义的值变化,否则过渡效果按照hover前定义的值变化),透明度为1。

    核心代码:

    1.标题右下浮动显示出3D效果

    位移:translate/X/Y。

    悬浮前:

    .cs-style-1 figcaption {    height: 100%;    width: 100%;    opacity: 0;    text-align: center;    backface-visibility: hidden;    transition: transform 0.3s, opacity 0.3s;    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;}
    Nach dem Login kopieren

    悬浮后:

    .cs-style-1 figure:hover figcaption {    opacity: 1;    transform: translate(15px, 15px);    -webkit-transform: translate(15px, 15px);}
    Nach dem Login kopieren

    2.图片上浮底部显示标题

    位移:translate/X/Y。

    悬浮前:

    .cs-style-2 figure img {    z-index: 10;    transition: transform 0.4s;    -webkit-transition: -webkit-transform 0.4s;}
    Nach dem Login kopieren

    悬浮后:

    .cs-style-2 figure:hover img {    transform: translateY(-90px);    -webkit-transform: translateY(-90px);}
    Nach dem Login kopieren

    3.标题将图片向上推起

    位移:translate/X/Y。推起的图片部分overflow:hidden。

    悬浮前:

    .cs-style-3 figure img {    transition: transform 0.4s;    -webkit-transition: -webkit-transform 0.4s;}.cs-style-3 figure {    overflow: hidden;}.cs-style-3 figcaption {    height: 40px;    width: 80%;    top: auto;    bottom: 0;    opacity: 0;    transform: translateY(100%);    -webkit-transform: translateY(100%);    transition: transform 0.4s, opacity 0.1s 0.3s;     -webkit-transition: -webkit-transform 0.4s, opacity 0.1s 0.3s;}
    Nach dem Login kopieren

    悬浮后:

    .cs-style-3 figure:hover figcaption{    opacity:1;    transform:translateY(0px);    -webkit-transform:translateY(0px);    transition: transform 0.4s, opacity 0.1s;    -webkit-transition: -webkit-transform 0.4s, opacity 0.1s;}.cs-style-3 figure:hover img {    transform: translateY(-50px);     -webkit-transform: translateY(-50px);}
    Nach dem Login kopieren

    4.标题3D折入把图片向右推出

    perspective属性:该属性定义3D元素距视图的距离,以像素计算。该属性允许你改变3D元素查看3D元素的视图。当元素定义perspective属性时,其子元素会获得透视效果,而不是元素本身。与perspective-origin属性一同使用,以改变3D元素的底部位置。

    位移:translate/X/Y

    旋转:rotate/X/Y

    我们将li作为前景容器,这样我们才能实现3D效果,同时定义li内部的figure的transform-style为perspective-3d。

    .cs-style-4  li {    perspective: 1700px;    perspective-origin: 0 50%;}.cs-style-4 figure {    transform-style: preserve-3d;}
    Nach dem Login kopieren

    为了实现效果,需要为img添加一个容器div,设置overflow:hidden。隐藏图片向右移动后多出的部分。hover于图片的时候移动图片:

    .cs-style-4 figure div{    overflow:hidden;}.cs-style-4 figure img {    transition: transform 0.4s;}.cs-style-4 figure:hover img {    transform: translateX(25%);}
    Nach dem Login kopieren

    设置figcaption左边为基准旋转-90°,将图片向屏幕外的方向立起来:

    .cs-style-4 figcaption{    height:250px;    width:25%;    transform-origin:0 0;    transform:rotateY(-90deg);    transition:transform 0.4s,opacity 0.1s 0.3s;    opacity:0;}.cs-style-4 figure:hover figcaption {  opacity:1;    transform:rotateY(0deg);    transition:transform 0.4s,opacity 0.1s;}
    Nach dem Login kopieren

    5.标题内容缩放

    缩放:scale。

    悬浮前:

    .cs-style-5 figure img{    z-index:10;    transition:transform 0.4s,opacity 0.1s 0.3s;}.cs-style-5 figure figcaption{     height: 100%;    width: 100%;    transform:scale(0.7);    opacity:0;    transition:transform 0.4s,opacity 0.1s 0.3s; }
    Nach dem Login kopieren

    悬浮后:

    .cs-style-5 figure:hover img{    transform:scale(0.3);}.cs-style-5 figure:hover figcaption{    opacity:1;    transform:scale(1);    transition:transform 0.4s,opacity 0.1s;}
    Nach dem Login kopieren

    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage