• css变形 transform


    transition:过度属性

    • transition-property 规定设置过度效果的css属性的名称,默认可以写all

    • transition-duration 规定完成过度效果需要多少秒或毫秒

    • transition-timing-function: 默认easetransition-delay:延时时间

      • ease:逐渐变慢
      • linear:匀速
      • ease-in:加速
      • ease-out:减速
      • ease-in-out:先加速在减速
      • cubic-bezier:贝塞尔曲线  

     transitionend:过度完成事件

    
    
    1 function addEnd(obj,fn){
    2     obj.addEventListener('WebkitTransitionEnd',fn,false);
    3     obj.addEventListener('transitionend',fn,false);
    4 }
    5 function removeEnd(obj,fn){
    6     obj.removeEventListener('WebkitTransitionEnd',fn,false);
    7     obj.removeEventListener('transitionend',fn,false);
    8 }
    注:1在transition里,如果写了多个,那没改变一次样式,就会触发一次事件
      2注意重复触发transitionend事件。比如下面重复改变div的y轴位置
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7         #nav{position: absolute;left:0;top:0;width: 100px;height: 100px;background: gray;transition: 1s all;}
     8     </style>
     9 </head>
    10 <body>
    11 <div id="nav"></div>
    12 <script>
    13     var oHome=document.getElementById("nav");
    14     var count = 10;
    15     oHome.onclick = function(){
    16         count += 20;
    17         oHome.style.transform = 'translate(0,'+ count +'px)'
    18         addEnd(this,function(){
    19             count += 20;
    20             oHome.style.transform = 'translate(0,'+ count +'px)'
    21         })
    22     }
    23     function addEnd(obj,fn) {
    24         obj.addEventListener('WebkitTransitionEnd',fn,false);
    25         obj.addEventListener('transitionend',fn,false);
    26     }
    27 </script>
    28 </body>
    29 </html>
    View Code

    transform:变形

    • 旋转:rotate():度数

    • 斜切:skew():度数

      • skewX
      • skewY  
    • 缩放:scale():正数、负数、小数

      • scaleX
      • scaleY
    • 位移:translate():css支持的单位都可以

      • translateX
      • translateY  
    • transform的执行顺序:后写的先执行

      • transform: scale(2) rotate(50deg); 先执行旋转,在执行缩放 

    以上transform的值,也会根据中心点(transform-origin)来改变

    练习:时钟demo


    练习:导航

  • 相关阅读:
    基于Zabbix 3.2.6版本的Discovery
    Zabbix 3.2.6使用注意事项
    Zabbix 3.2.6安装过程
    自动安装lnmp
    [ORACLE]PL/SQL 用户登录出现ORA-12170:TNS:连接超时 等Oracle无法正常登录问题解决方案
    [ORACLE]尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
    页面从简体字乱码为另外的简体字
    VScode使用问题总结
    数据备份与恢复
    BinLog日志
  • 原文地址:https://www.cnblogs.com/wmh1106/p/6064708.html
Copyright © 2020-2023  润新知