zoukankan      html  css  js  c++  java
  • transition动画效果初识(实例)

    多个属性一起动画示例

    <body>
        <p>盒子的多个属性一起动画: width, height, background-color, transform. 将光标悬停在盒子上查看动画。</p>
        <div class="box"></div>
    </body>
    .box {
        border-style: solid;
        border-width: 1px;
        display: block;
        width: 100px;
        height: 100px;
        background-color: #0000FF;
        -webkit-transition:width 2s, height 2s,               //默认简写方法transition: <property> <duration> <time-funtion> <delay>
            background-color 2s, -webkit-transform 2s;           //transform属性,定义位置改变
        transition:width 2s, height 2s, background-color 2s, transform 2s;
    }
    .box:hover {
        background-color: #FFCCCC;
        width:200px;
        height:200px;
        -webkit-transform:rotate(180deg);                  //transform: rotate (角度) 定义旋转
        transform:rotate(180deg);                        //transform属性同transition 一起可以实现很多常见的简单动画效果。
    }

    css transform 属性参考地址:http://www.w3school.com.cn/cssref/pr_transform.asp

     trasform要注意浏览器前缀。

    检测过渡是否完成

     当过渡完成时触发一个事件,在符合标准的浏览器下,这个事件是 transitionend, 在 WebKit 下是 webkitTransitionEnd. 详情查看页面底部的兼容性表格。 transitionend 事件提供两个属性:

    propertyName字符串,指示已完成过渡的属性。

    elapsedTime浮点数,指示当触发这个事件时过渡已运行的时间(秒)。这个值不受 transition-delay影响。

     可以用  element.addEventListener() 方法来监听这个事件:

    el.addEventListener("transitionend", updateTransition, true);

    高亮菜单过渡效果

    <div class="sidebar">
      <p><a class="menuButton" href="home">Home</a></p>
      <p><a class="menuButton" href="about">About</a></p>
      <p><a class="menuButton" href="contact">Contact Us</a></p>
      <p><a class="menuButton" href="links">Links</a></p>
    </div>
    .menuButton {
      position: relative;
      transition-property: background-color, color;                      //transition设置需要的属性,当设置属性样式发生改变时会执行transition
      transition-duration: 1s;
      transition-timing-function: ease-out;
      text-align: left;
      background-color: grey;
      left: 5px;
      top: 5px;
      height: 26px;
      color: white;
      border-color: black;
      font-family: sans-serif;
      font-size: 20px;
      text-decoration: none;
      box-shadow: 2px 2px 1px black;
      padding: 2px 4px;
      border: solid 1px black;
    }
    
    .menuButton:hover {
      position: relative;
      transition-property: background-color, color;                //改变后的元素再次设置一次,则鼠标离开的时候也会有相同的过渡效果
      transition-duration: 1s;
      transition-timing-function: ease-out;
      background-color:white;
      color:black;
      box-shadow: 2px 2px 1px black;
    }

    transition 让 JavaScript 效果更平滑

     transition 是非常好的工具,可以让 JavaScript 效果平滑而不用修改 JavaScript。

    <p>随便点击某处来移动球</p>
    <div id="foo"></div>
    var f = document.getElementById('foo');
    document.addEventListener('click', function(ev){                //监听点击的位置
        f.style.left = (ev.clientX-25)+'px';                     //改变style属性中对应的位置
        f.style.top = (ev.clientY-25)+'px';                     //-25则可以找到50px的小球的中点
    },false);
    p {
      padding-left: 60px;
    
    #foo {
      border-radius: 50px;
      width: 50px;
      height: 50px;
      background: #c00;
      position: absolute;
      top: 0;
      left: 0;
      transition:  all 1s;                     //transition: all 1s    所有可能改变的属性1s过度
    }
  • 相关阅读:
    bzoj千题计划239:bzoj4069: [Apio2015]巴厘岛的雕塑
    bzoj千题计划238:bzoj3668: [Noi2014]起床困难综合症
    hdu 3022 Sum of Digits
    在RAC中,当私有网线拔了后,会怎么样?
    CVU介绍
    oracle rac 日志体系结构!
    oracle 内存结构 share pool sql解析的过程
    Oracle逻辑读详解
    共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁
    共享池之六:shared pool latch/ library cache latch /lock pin 简介
  • 原文地址:https://www.cnblogs.com/FunkyEric/p/8966065.html
Copyright © 2011-2022 走看看