zoukankan      html  css  js  c++  java
  • transition

    transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。transition包含4个属性值:执行变换的属性:transition-property,变换延续的时间:transition-duration,变换的速率变化:transition-timing-function,变换的延迟时间:transition-delay:

    • transition-property的取值包含none(没有属性改变),all(所有属性改变),indent(元素属性名,包括color,length,percentage,integer,number,transform,rectangle,visibility,shadow,gradient,SVG,space-separated list of above,a shorthand property);
    • transition-duration的默认值是0 ,即变化是即时的,单位是s或者ms,包括:before和:after伪元素;
    • transiton-timing-function的取值包含ease(逐渐变慢,默认值),linear(匀速),ease-in(加速),ease-out(减速),ease-in-out(加速然后减速),cubic-bezier(可以自定义时间曲线);
    • transition-delay:同transition-duration,当只写了一个时间的时候,代表的是变换延续的时间。
    在实际运用中,想要同时改变多个css属性时,可以把几个transition的声明写在一起,中间用逗号隔开,例如transition:background 0.5s ease-in,color 0.3s ease-out。
     #timings-demo {
         border: 1px solid #ccc;
         padding: 10px;
         height: 400px;
          400px;
       }
         
      .demo-box {
          100px;
         height: 50px;
         text-align: center;
         line-height: 50px;
         text-align: center;
         color: #fff;
         background: #96c;
         border-radius: 5px;
         box-shadow: inset 0 0 5px rgba(102, 153, 0,0.5);
         margin-bottom: 10px;
      }
    
    <div id="timings-demo">
                <div id="ease" class="demo-box">Ease</div>
                <div id="ease-in" class="demo-box">Ease-in</div>
                <div id="ease-out" class="demo-box">Ease-out</div>
                <div id="ease-in-out" class="demo-box">Ease-in-out</div>
                <div id="linear" class="demo-box">Linear</div>
                <div id="cubic-bezier" class="demo-box">Cubic-bezier</div>
            </div>
    /*ease效果:*/        
      #ease {
         transition: all 5s ease 0.3s;
         background: #f36;      
      }
     /*ease-in效果:*/
      #ease-in {
         transition: all 3s ease-in 0.5s;
         background: #369;
      }
      /*ease-out效果:*/
      #ease-out {
        transition: all 5s ease-out 0s;
        background: #636;      
      }
     /*ease-in-out效果:*/
      #ease-in-out {
        transition: all 1s ease-in-out 2s;
        background: #3e6;
      }
      /*linear效果:*/
      #linear {
        transition: all 6s linear 0s;
        background: #999;
      }
      /*cubic-bezier效果:*/
      #cubic-bezier {
        transition: all 4s cubic-bezier 1s;
        background: #6d6;
      }
        #timings-demo:hover .demo-box{
        transform: rotate(360deg) scale(1.2);
        background: #369;
        border: 1px solid rgba(255,230,255,08);
        -moz-border-radius: 25px;
        -webkit-border-radius: 25px;
        border-radius: 25px;
        margin-left: 280px;
        height: 30px;
        line-height: 30px;
        margin-bottom: 15px;
      }

     hover的transition

    .demo{
                    100px;
                    height:100px;
                    text-align:center;
                    line-height:100px;
                    border:10px solid #ccc;
                    border-radius:60px;
                    font-size:20px;
                    -webkit-backface-visibility:hidden;
                }
                #demo1{
                    transition:border-color 0.3s ease;
                }
                #demo1:hover{
                    border-color:#a3d7ff;
                }
    
                #demo2{
                    transition:all 1s ease;
                }
                #demo2:hover{
                    background:#a3d7ff;
                    transform: rotate(360deg);
                    transition:background 0.3s ease;
                }
    <div id="demo1" class="demo">demo1</div>
            <div id="demo2" class="demo">demo2</div>

    translate、transform和transition

    • transform的中文翻译是变换、变形,是css3的一个属性,和其他width,height属性一样
    • translate 是transform的属性值,是指元素进行2D变换,2D变换就是指,元素以当前位置(0,0)按照x轴的方向移动多少,按照y轴的方向移动多少 
    • transition  在一定时间之内,一组css属性变换到另一组属性的动画展示过程。可以用来实现动态效果,css3的属性
    • ransition属性写在最初的样式里,而不是放在结束的样式里,即定义动画开始之前的元素外观的样式。只需要给元素设置一次transition,浏览器就会负责以动画展示从一个样式到另一个样式。
  • 相关阅读:
    [编程题] 基础 [位运算基础]
    [编程题] lc [191. 位1的个数]
    [编程题] lc [69. x 的平方根]
    php 中php-fpm工作原理
    redis分布式锁
    3种Redis分布式锁的对比
    php使用数据库的并发问题(乐观锁与悲观锁)
    php观察者模式应用场景实例详解
    [Usaco2008 Jan]电话网络
    关于二分图结论的一些证明
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/13838583.html
Copyright © 2011-2022 走看看