HTML之CSS Animation 属性常用动画

前端HTML5/HTML+CSS3/CSS学习笔记(八) 阅读详情
  • 引入下面的样式表后
    -webkit-animation: tada 1s ease 0.3s infinite both;
  • -webkit-animation: name duration timing-function delay iteration_count direction
  • animation 各个参数详细用法请看
    https://www.w3school.com.cn/css/css3_animations.asp
  • cubic-bezier 生成器
    https://cubic-bezier.com
  •    /*
     
     ====进入====
     淡入:fadeIn
     翻转进入:flipInY
     中心弹入:bounceIn 
     中心放大:zoomIn
     翻转进入:rollIn
     光速进入:lightSpeedIn
     
     移入,从左向右:fadeInLeft
     移入,从上向下:fadeInDown 
     移入,从右向左:fadeInRight
     移入,从下向上:fadeInUp
     
     弹入,从左向右:bounceInLeft
     弹入,从上向下:bounceInDown 
     弹入,从右向左:bounceInRight
     弹入,从下向上:bounceInUp
     
     ========强调======
     摇摆:wobble 
     抖动:rubberBand
     旋转:rotateIn
     翻转:flip 
     悬摆:swing
     放大抖动:tada 
     倾斜摆动:jello 
     
     =========退出===========
     淡出:fadeOut 
     翻转消失:flipOutY 
     中心消失:bounceOut 
     翻滚退出:rollOut 
     光速退出:lightSpeedOut
     
     */
      
      @-webkit-keyframes rollIn { 0% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
     transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes rollIn { 0% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
     transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
     @-webkit-keyframes lightSpeedIn { 0% {
     -webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);
     transform:translate3d(100%, 0, 0) skewX(-30deg);
     opacity:0
     }
     60% {
     -webkit-transform:skewX(20deg);
     transform:skewX(20deg);
     opacity:1
     }
     80% {
     -webkit-transform:skewX(-5deg);
     transform:skewX(-5deg);
     opacity:1
     }
     100% {
     -webkit-transform:none;
     transform:none;
     opacity:1
     }
     }
     @keyframes lightSpeedIn { 0% {
     -webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);
     transform:translate3d(100%, 0, 0) skewX(-30deg);
     opacity:0
     }
     60% {
     -webkit-transform:skewX(20deg);
     transform:skewX(20deg);
     opacity:1
     }
     80% {
     -webkit-transform:skewX(-5deg);
     transform:skewX(-5deg);
     opacity:1
     }
     100% {
     -webkit-transform:none;
     transform:none;
     opacity:1
     }
     }
      @-webkit-keyframes fadeInLeft { 0% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0);
     transform:translate3d(-100%, 0, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes fadeInLeft { 0% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0);
     transform:translate3d(-100%, 0, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes fadeInRight { 0% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0);
     transform:translate3d(100%, 0, 0)
     }
     100% {
     opacity:1;
     transform:none
     }
     }
     @keyframes fadeInRight { 0% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0);
     transform:translate3d(100%, 0, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes fadeInUp { 0% {
     opacity:0;
     -webkit-transform:translate3d(0, 100%, 0);
     transform:translate3d(0, 100%, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes fadeInUp { 0% {
     opacity:0;
     -webkit-transform:translate3d(0, 100%, 0);
     -ms-transform:translate3d(0, 100%, 0);
     transform:translate3d(0, 100%, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     -ms-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes fadeOutDown { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, 100%, 0);
     transform:translate3d(0, 100%, 0)
     }
     }
     @keyframes fadeOutDown { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, 100%, 0);
     transform:translate3d(0, 100%, 0)
     }
     }
      @-webkit-keyframes fadeOutLeft { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0);
     transform:translate3d(-100%, 0, 0)
     }
     }
     @keyframes fadeOutLeft { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(-100%, 0, 0);
     transform:translate3d(-100%, 0, 0)
     }
     }
      @-webkit-keyframes fadeOutRight { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0);
     transform:translate3d(100%, 0, 0)
     }
     }
     @keyframes fadeOutRight { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0);
     transform:translate3d(100%, 0, 0)
     }
     }
      @-webkit-keyframes fadeOutUp { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, -100%, 0);
     transform:translate3d(0, -100%, 0)
     }
     }
     @keyframes fadeOutUp { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, -100%, 0);
     transform:translate3d(0, -100%, 0)
     }
     }
      @-webkit-keyframes swing { 20% {
     -webkit-transform:rotate3d(0, 0, 1, 15deg);
     transform:rotate3d(0, 0, 1, 15deg)
     }
     40% {
     -webkit-transform:rotate3d(0, 0, 1, -10deg);
     transform:rotate3d(0, 0, 1, -10deg)
     }
     60% {
     -webkit-transform:rotate3d(0, 0, 1, 5deg);
     transform:rotate3d(0, 0, 1, 5deg)
     }
     80% {
     -webkit-transform:rotate3d(0, 0, 1, -5deg);
     transform:rotate3d(0, 0, 1, -5deg)
     }
     100% {
     -webkit-transform:rotate3d(0, 0, 1, 0deg);
     transform:rotate3d(0, 0, 1, 0deg)
     }
     }
     @keyframes swing { 20% {
     -webkit-transform:rotate3d(0, 0, 1, 15deg);
     transform:rotate3d(0, 0, 1, 15deg)
     }
     40% {
     -webkit-transform:rotate3d(0, 0, 1, -10deg);
     transform:rotate3d(0, 0, 1, -10deg)
     }
     60% {
     -webkit-transform:rotate3d(0, 0, 1, 5deg);
     transform:rotate3d(0, 0, 1, 5deg)
     }
     80% {
     -webkit-transform:rotate3d(0, 0, 1, -5deg);
     transform:rotate3d(0, 0, 1, -5deg)
     }
     100% {
     -webkit-transform:rotate3d(0, 0, 1, 0deg);
     transform:rotate3d(0, 0, 1, 0deg)
     }
     }
      @-webkit-keyframes wobble { 0% {
     -webkit-transform:none;
     transform:none
     }
     15% {
     -webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
     transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
     }
     30% {
     -webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
     transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
     }
     45% {
     -webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
     transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
     }
     60% {
     -webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
     transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
     }
     75% {
     -webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
     transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes wobble { 0% {
     -webkit-transform:none;
     transform:none
     }
     15% {
     -webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
     transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
     }
     30% {
     -webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
     transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
     }
     45% {
     -webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
     transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
     }
     60% {
     -webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
     transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
     }
     75% {
     -webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
     transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes rotateIn { from {
     -webkit-transform:rotate(0deg)
     }
     to { -webkit-transform: rotate(360deg) }
     }
     @-moz-keyframes rotateIn { from {
     -moz-transform:rotate(0deg)
     }
     to { -moz-transform: rotate(359deg) }
     }
     @-o-keyframes rotateIn { from {
     -o-transform:rotate(0deg)
     }
     to { -o-transform: rotate(359deg) }
     }
     @keyframes rotateIn { from {
     transform:rotate(0deg)
     }
     to { transform: rotate(359deg) }
     }
      @-webkit-keyframes fadeOut { 0% {
     opacity:1
     }
     100% {
     opacity:0
     }
     }
     @keyframes fadeOut { 0% {
     opacity:1
     }
     100% {
     opacity:0
     }
     }
      @-webkit-keyframes flip { 0% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -360deg);
     -webkit-animation-timing-function:ease-out;
     animation-timing-function:ease-out
     }
     40% {
     -webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
     transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
     -webkit-animation-timing-function:ease-out;
     animation-timing-function:ease-out
     }
     50% {
     -webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
     transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     80% {
     -webkit-transform:perspective(400px) scale3d(.95, .95, .95);
     transform:perspective(400px) scale3d(.95, .95, .95);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     }
     @keyframes flip { 0% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -360deg);
     -webkit-animation-timing-function:ease-out;
     animation-timing-function:ease-out
     }
     40% {
     -webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
     transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
     -webkit-animation-timing-function:ease-out;
     animation-timing-function:ease-out
     }
     50% {
     -webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
     transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     80% {
     -webkit-transform:perspective(400px) scale3d(.95, .95, .95);
     transform:perspective(400px) scale3d(.95, .95, .95);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     }
      @-webkit-keyframes fadeInDown { 0% {
     opacity:0;
     -webkit-transform:translate3d(0, -100%, 0);
     transform:translate3d(0, -100%, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes fadeInDown { 0% {
     opacity:0;
     -webkit-transform:translate3d(0, -100%, 0);
     -ms-transform:translate3d(0, -100%, 0);
     transform:translate3d(0, -100%, 0)
     }
     100% {
     opacity:1;
     -webkit-transform:none;
     -ms-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes fadeIn { 0% {
     opacity:0
     }
     100% {
     opacity:1
     }
     }
     @keyframes fadeIn { 0% {
     opacity:0
     }
     100% {
     opacity:1
     }
     }
     @-webkit-keyframes zoomIn { 0% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     50% {
     opacity:1
     }
     }
     @keyframes zoomIn { 0% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     50% {
     opacity:1
     }
     }
      @-webkit-keyframes zoomOut { 0% {
     opacity:1
     }
     50% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     100% {
     opacity:0
     }
     }
     @keyframes zoomOut { 0% {
     opacity:1
     }
     50% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     100% {
     opacity:0
     }
     }
      @-webkit-keyframes bounceIn { 0%, 20%, 40%, 60%, 80%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     20% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1);
     transform:scale3d(1.1, 1.1, 1.1)
     }
     40% {
     -webkit-transform:scale3d(.9, .9, .9);
     transform:scale3d(.9, .9, .9)
     }
     60% {
     opacity:1;
     -webkit-transform:scale3d(1.03, 1.03, 1.03);
     transform:scale3d(1.03, 1.03, 1.03)
     }
     80% {
     -webkit-transform:scale3d(.97, .97, .97);
     transform:scale3d(.97, .97, .97)
     }
     100% {
     opacity:1;
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @keyframes bounceIn { 0%, 20%, 40%, 60%, 80%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     20% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1);
     transform:scale3d(1.1, 1.1, 1.1)
     }
     40% {
     -webkit-transform:scale3d(.9, .9, .9);
     transform:scale3d(.9, .9, .9)
     }
     60% {
     opacity:1;
     -webkit-transform:scale3d(1.03, 1.03, 1.03);
     transform:scale3d(1.03, 1.03, 1.03)
     }
     80% {
     -webkit-transform:scale3d(.97, .97, .97);
     transform:scale3d(.97, .97, .97)
     }
     100% {
     opacity:1;
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
      @-webkit-keyframes bounceInLeft { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(-3000px, 0, 0);
     transform:translate3d(-3000px, 0, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(25px, 0, 0);
     transform:translate3d(25px, 0, 0)
     }
     75% {
     -webkit-transform:translate3d(-10px, 0, 0);
     transform:translate3d(-10px, 0, 0)
     }
     90% {
     -webkit-transform:translate3d(5px, 0, 0);
     transform:translate3d(5px, 0, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes bounceInLeft { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(-3000px, 0, 0);
     transform:translate3d(-3000px, 0, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(25px, 0, 0);
     transform:translate3d(25px, 0, 0)
     }
     75% {
     -webkit-transform:translate3d(-10px, 0, 0);
     transform:translate3d(-10px, 0, 0)
     }
     90% {
     -webkit-transform:translate3d(5px, 0, 0);
     transform:translate3d(5px, 0, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes bounceInRight { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(3000px, 0, 0);
     transform:translate3d(3000px, 0, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(-25px, 0, 0);
     transform:translate3d(-25px, 0, 0)
     }
     75% {
     -webkit-transform:translate3d(10px, 0, 0);
     transform:translate3d(10px, 0, 0)
     }
     90% {
     -webkit-transform:translate3d(-5px, 0, 0);
     transform:translate3d(-5px, 0, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes bounceInRight { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(3000px, 0, 0);
     transform:translate3d(3000px, 0, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(-25px, 0, 0);
     transform:translate3d(-25px, 0, 0)
     }
     75% {
     -webkit-transform:translate3d(10px, 0, 0);
     transform:translate3d(10px, 0, 0)
     }
     90% {
     -webkit-transform:translate3d(-5px, 0, 0);
     transform:translate3d(-5px, 0, 0)
     }
     100% {
     -webkit-transform:none;
     -ms-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes bounceInUp { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(0, 3000px, 0);
     transform:translate3d(0, 3000px, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(0, -25px, 0);
     transform:translate3d(0, -25px, 0)
     }
     75% {
     -webkit-transform:translate3d(0, 10px, 0);
     transform:translate3d(0, 10px, 0)
     }
     90% {
     -webkit-transform:translate3d(0, -5px, 0);
     transform:translate3d(0, -5px, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes bounceInUp { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(0, 3000px, 0);
     transform:translate3d(0, 3000px, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(0, -25px, 0);
     transform:translate3d(0, -25px, 0)
     }
     75% {
     -webkit-transform:translate3d(0, 10px, 0);
     transform:translate3d(0, 10px, 0)
     }
     90% {
     -webkit-transform:translate3d(0, -5px, 0);
     transform:translate3d(0, -5px, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes bounceInDown { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(0, -3000px, 0);
     transform:translate3d(0, -3000px, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(0, 25px, 0);
     transform:translate3d(0, 25px, 0)
     }
     75% {
     -webkit-transform:translate3d(0, -10px, 0);
     transform:translate3d(0, -10px, 0)
     }
     90% {
     -webkit-transform:translate3d(0, 5px, 0);
     transform:translate3d(0, 5px, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes bounceInDown { 0%, 60%, 75%, 90%, 100% {
     -webkit-transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000);
     transition-timing-function:cubic-bezier(0.215, .610, .355, 1.000)
     }
     0% {
     opacity:0;
     -webkit-transform:translate3d(0, -3000px, 0);
     transform:translate3d(0, -3000px, 0)
     }
     60% {
     opacity:1;
     -webkit-transform:translate3d(0, 25px, 0);
     transform:translate3d(0, 25px, 0)
     }
     75% {
     -webkit-transform:translate3d(0, -10px, 0);
     transform:translate3d(0, -10px, 0)
     }
     90% {
     -webkit-transform:translate3d(0, 5px, 0);
     transform:translate3d(0, 5px, 0)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes bounceOut { 20% {
     -webkit-transform:scale3d(.9, .9, .9);
     transform:scale3d(.9, .9, .9)
     }
     50%, 55% {
     opacity:1;
     -webkit-transform:scale3d(1.1, 1.1, 1.1);
     transform:scale3d(1.1, 1.1, 1.1)
     }
     100% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     }
     @keyframes bounceOut { 20% {
     -webkit-transform:scale3d(.9, .9, .9);
     transform:scale3d(.9, .9, .9)
     }
     50%, 55% {
     opacity:1;
     -webkit-transform:scale3d(1.1, 1.1, 1.1);
     transform:scale3d(1.1, 1.1, 1.1)
     }
     100% {
     opacity:0;
     -webkit-transform:scale3d(.3, .3, .3);
     transform:scale3d(.3, .3, .3)
     }
     }
      @-webkit-keyframes bounceOutDown { 20% {
     -webkit-transform:translate3d(0, 10px, 0);
     transform:translate3d(0, 10px, 0)
     }
     40%, 45% {
     opacity:1;
     -webkit-transform:translate3d(0, -20px, 0);
     transform:translate3d(0, -20px, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, 2000px, 0);
     transform:translate3d(0, 2000px, 0)
     }
     }
     @keyframes bounceOutDown { 20% {
     -webkit-transform:translate3d(0, 10px, 0);
     transform:translate3d(0, 10px, 0)
     }
     40%, 45% {
     opacity:1;
     -webkit-transform:translate3d(0, -20px, 0);
     transform:translate3d(0, -20px, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, 2000px, 0);
     transform:translate3d(0, 2000px, 0)
     }
     }
      @-webkit-keyframes bounceOutLeft { 20% {
     opacity:1;
     -webkit-transform:translate3d(20px, 0, 0);
     transform:translate3d(20px, 0, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(-2000px, 0, 0);
     transform:translate3d(-2000px, 0, 0)
     }
     }
     @keyframes bounceOutLeft { 20% {
     opacity:1;
     -webkit-transform:translate3d(20px, 0, 0);
     transform:translate3d(20px, 0, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(-2000px, 0, 0);
     transform:translate3d(-2000px, 0, 0)
     }
     }
      @-webkit-keyframes bounceOutRight { 20% {
     opacity:1;
     -webkit-transform:translate3d(-20px, 0, 0);
     transform:translate3d(-20px, 0, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(2000px, 0, 0);
     transform:translate3d(2000px, 0, 0)
     }
     }
     @keyframes bounceOutRight { 20% {
     opacity:1;
     -webkit-transform:translate3d(-20px, 0, 0);
     transform:translate3d(-20px, 0, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(2000px, 0, 0);
     transform:translate3d(2000px, 0, 0)
     }
     }
      @-webkit-keyframes bounceOutUp { 20% {
     -webkit-transform:translate3d(0, -10px, 0);
     transform:translate3d(0, -10px, 0)
     }
     40%, 45% {
     opacity:1;
     -webkit-transform:translate3d(0, 20px, 0);
     transform:translate3d(0, 20px, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, -2000px, 0);
     transform:translate3d(0, -2000px, 0)
     }
     }
     @keyframes bounceOutUp { 20% {
     -webkit-transform:translate3d(0, -10px, 0);
     transform:translate3d(0, -10px, 0)
     }
     40%, 45% {
     opacity:1;
     -webkit-transform:translate3d(0, 20px, 0);
     transform:translate3d(0, 20px, 0)
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(0, -2000px, 0);
     transform:translate3d(0, -2000px, 0)
     }
     }
      @-webkit-keyframes rollOut { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
     transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)
     }
     }
     @keyframes rollOut { 0% {
     opacity:1
     }
     100% {
     opacity:0;
     -webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
     transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)
     }
     }
      @-webkit-keyframes rubberBand { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     30% {
     -webkit-transform:scale3d(1.25, .75, 1);
     transform:scale3d(1.25, .75, 1)
     }
     40% {
     -webkit-transform:scale3d(0.75, 1.25, 1);
     transform:scale3d(0.75, 1.25, 1)
     }
     50% {
     -webkit-transform:scale3d(1.15, .85, 1);
     transform:scale3d(1.15, .85, 1)
     }
     65% {
     -webkit-transform:scale3d(.95, 1.05, 1);
     transform:scale3d(.95, 1.05, 1)
     }
     75% {
     -webkit-transform:scale3d(1.05, .95, 1);
     transform:scale3d(1.05, .95, 1)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @keyframes rubberBand { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     30% {
     -webkit-transform:scale3d(1.25, .75, 1);
     transform:scale3d(1.25, .75, 1)
     }
     40% {
     -webkit-transform:scale3d(0.75, 1.25, 1);
     transform:scale3d(0.75, 1.25, 1)
     }
     50% {
     -webkit-transform:scale3d(1.15, .85, 1);
     transform:scale3d(1.15, .85, 1)
     }
     65% {
     -webkit-transform:scale3d(.95, 1.05, 1);
     transform:scale3d(.95, 1.05, 1)
     }
     75% {
     -webkit-transform:scale3d(1.05, .95, 1);
     transform:scale3d(1.05, .95, 1)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @-webkit-keyframes lightSpeedOut { 0% {
     opacity:1
     }
     100% {
     -webkit-transform:translate3d(100%, 0, 0) skewX(30deg);
     transform:translate3d(100%, 0, 0) skewX(30deg);
     opacity:0
     }
     }
     @keyframes lightSpeedOut { 0% {
     opacity:1
     }
     100% {
     -webkit-transform:translate3d(100%, 0, 0) skewX(30deg);
     transform:translate3d(100%, 0, 0) skewX(30deg);
     opacity:0
     }
     }
      @-webkit-keyframes heartbeat { 0% {
     -webkit-transform:scale(1);
     transform:scale(1)
     }
     50% {
     -webkit-transform:scale(1.5);
     transform:scale(1.5)
     }
     100% {
     -webkit-transform:scale(1);
     transform:scale(1)
     }
     }
     @keyframes heartbeat { 0% {
     -webkit-transform:scale(1);
     transform:scale(1)
     }
     50% {
     -webkit-transform:scale(1.5);
     transform:scale(1.5)
     }
     100% {
     -webkit-transform:scale(1);
     transform:scale(1)
     }
     }
      @-webkit-keyframes flipOutY { 0% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     30% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -15deg);
     opacity:1
     }
     100% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     opacity:0
     }
     }
     @keyframes flipOutY { 0% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     30% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -15deg);
     opacity:1
     }
     100% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     opacity:0
     }
     }
      @-webkit-keyframes flipInY { 0% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in;
     opacity:0
     }
     40% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     60% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
     opacity:1
     }
     80% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -5deg)
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     }
     @keyframes flipInY { 0% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in;
     opacity:0
     }
     40% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     60% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
     transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
     opacity:1
     }
     80% {
     -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);
     transform:perspective(400px) rotate3d(0, 1, 0, -5deg)
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     }
      @-webkit-keyframes flipInX { 0% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in;
     opacity:0
     }
     40% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     60% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
     opacity:1
     }
     80% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -5deg)
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     }
     @keyframes flipInX { 0% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in;
     opacity:0
     }
     40% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     -webkit-animation-timing-function:ease-in;
     animation-timing-function:ease-in
     }
     60% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
     opacity:1
     }
     80% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -5deg)
     }
     100% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     }
      @-webkit-keyframes flipOutX { 0% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     30% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     opacity:1
     }
     100% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     opacity:0
     }
     }
     @keyframes flipOutX { 0% {
     -webkit-transform:perspective(400px);
     transform:perspective(400px)
     }
     30% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
     opacity:1
     }
     100% {
     -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
     opacity:0
     }
     }
      @-webkit-keyframes tada { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     10%, 20% {
     -webkit-transform:scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
     transform:scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
     }
     30%, 50%, 70%, 90% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
     transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
     }
     40%, 60%, 80% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
     transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @keyframes tada { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     10%, 20% {
     -webkit-transform:scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
     transform:scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
     }
     30%, 50%, 70%, 90% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
     transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
     }
     40%, 60%, 80% {
     -webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
     transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
      @-webkit-keyframes jello { 11.1% {
     -webkit-transform:none;
     transform:none
     }
     22.2% {
     -webkit-transform:skewX(-12.5deg) skewY(-12.5deg);
     transform:skewX(-12.5deg) skewY(-12.5deg)
     }
     33.3% {
     -webkit-transform:skewX(6.25deg) skewY(6.25deg);
     transform:skewX(6.25deg) skewY(6.25deg)
     }
     44.4% {
     -webkit-transform:skewX(-3.125deg) skewY(-3.125deg);
     transform:skewX(-3.125deg) skewY(-3.125deg)
     }
     55.5% {
     -webkit-transform:skewX(1.5625deg) skewY(1.5625deg);
     transform:skewX(1.5625deg) skewY(1.5625deg)
     }
     66.6% {
     -webkit-transform:skewX(-.78125deg) skewY(-.78125deg);
     transform:skewX(-.78125deg) skewY(-.78125deg)
     }
     77.7% {
     -webkit-transform:skewX(0.390625deg) skewY(0.390625deg);
     transform:skewX(0.390625deg) skewY(0.390625deg)
     }
     88.8% {
     -webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);
     transform:skewX(-.1953125deg) skewY(-.1953125deg)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
     @keyframes jello { 11.1% {
     -webkit-transform:none;
     transform:none
     }
     22.2% {
     -webkit-transform:skewX(-12.5deg) skewY(-12.5deg);
     transform:skewX(-12.5deg) skewY(-12.5deg)
     }
     33.3% {
     -webkit-transform:skewX(6.25deg) skewY(6.25deg);
     transform:skewX(6.25deg) skewY(6.25deg)
     }
     44.4% {
     -webkit-transform:skewX(-3.125deg) skewY(-3.125deg);
     transform:skewX(-3.125deg) skewY(-3.125deg)
     }
     55.5% {
     -webkit-transform:skewX(1.5625deg) skewY(1.5625deg);
     transform:skewX(1.5625deg) skewY(1.5625deg)
     }
     66.6% {
     -webkit-transform:skewX(-.78125deg) skewY(-.78125deg);
     transform:skewX(-.78125deg) skewY(-.78125deg)
     }
     77.7% {
     -webkit-transform:skewX(0.390625deg) skewY(0.390625deg);
     transform:skewX(0.390625deg) skewY(0.390625deg)
     }
     88.8% {
     -webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);
     transform:skewX(-.1953125deg) skewY(-.1953125deg)
     }
     100% {
     -webkit-transform:none;
     transform:none
     }
     }
      @-webkit-keyframes flash { 0%, 50%, 100% {
     opacity:1
     }
     25%, 75% {
     opacity:0
     }
     }
     @keyframes flash { 0%, 50%, 100% {
     opacity:1
     }
     25%, 75% {
     opacity:0
     }
     }
      @-webkit-keyframes pulse { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     50% {
     -webkit-transform:scale3d(1.05, 1.05, 1.05);
     transform:scale3d(1.05, 1.05, 1.05)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @keyframes pulse { 0% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     50% {
     -webkit-transform:scale3d(1.05, 1.05, 1.05);
     transform:scale3d(1.05, 1.05, 1.05)
     }
     100% {
     -webkit-transform:scale3d(1, 1, 1);
     transform:scale3d(1, 1, 1)
     }
     }
     @-webkit-keyframes scaleUp { 0% {
     -webkit-transform:scale(1)
     }
     100% {
     -webkit-transform:scale(1.5)
     }
     }
     @keyframes scaleUp { 0% {
     transform:scale(1)
     }
     100% {
     transform:scale(1.5)
     }
     }
     @-webkit-keyframes scaleDown { 0% {
     -webkit-transform:scale(1.5)
     }
     100% {
     -webkit-transform:scale(1)
     }
     }
     @keyframes scaleDown { 0% {
     transform:scale(1.5)
     }
     100% {
     transform:scale(1)
     }
     }
     @-webkit-keyframes blur { 0% {
     -webkit-filter:blur(0px)
     }
     100% {
     -webkit-filter:blur(8px)
     }
     }
     @keyframes blur { 0% {
     -webkit-filter:blur(0px)
     }
     100% {
     -webkit-filter:blur(8px)
     }
     }
     @-webkit-keyframes sharp { 0% {
     -webkit-filter:blur(8px)
     }
     100% {
     -webkit-filter:blur(0px)
     }
     }
     @keyframes sharp { 0% {
     -webkit-filter:blur(8px)
     }
     100% {
     -webkit-filter:blur(0px)
     }
     }
    
【CSS基础】10.过度动画transition和动画animation CSS trnasition提供了一种在更改CSS属性时控制动画速度的方法。可以让CSS的属性变化称为一个秩序一段时间的过程,而不是默认的立即生效比如在基础9中我们学到的trnaslate可以让一个元素移动,但瞬间就完成了我们可以利用trnasition让这个完成的过程有一定的动画效果属性可以控制的内容哪些属性需要进度过度动画何时开始,可以延时触发,比如2s后再进行动画持续多久(duration)动画的持续时间定义动画(匀速、先快后慢、先慢后快)timinganimation的定义。 阅读详情

相关推荐

HTML5动画效果的实现方式汇总

通过CSS3过渡效果、CSS3关键帧动画和JavaScript动画,我们可以在HTML5页面中实现各种各样的动画效果,为用户提供更加丰富和吸引人的交互体验。它通过在CSS样式中定义关键帧,指定元素在不同时间点的样式,从而创建复杂的动画效果。CSS3过渡效果是一种简单而强大的动画实现方式。HTML5是一种标准的网页开发技术,它提供了丰富的功能和特性,包括实现动画效果的能力。上述示例中,通过JavaScript代码监听页面加载事件,然后使用定时器函数逐渐改变元素的透明度,创建了一个渐变消失的动画效果。

PmtxPhp的博客 456

HTML-动画实现Animation

前言 在没有接触js之前,大家使用HTML和CSS做出来的页面都是静态页面,久而久之,静态页面显得非常的无趣,已经无法满足大家的需求了,就会开始有很多新鲜的idea,比如我想让hover鼠标悬停事件变得更有趣,我想让图片动起来,我想做一个会动的页面,那么不使用js可不可以做呢?答案是必须的~ 那么今天为大家带来的是动画animationn,可以满足大家一些简单的动态要求。 简单介绍 Animations由两部分组成:css动画的配置,以及一系列的keyframes(用来描述动画的开始、过程、结束状态)。不需

wen110898的博客 3759

使用animation.css库快速实现CSS3旋转动画

随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分。CSS3,作为CSS的最新版本,引入了诸多动画相关的属性,让前端开发者能够在浏览器端实现复杂的动态效果。CSS3动画技术以其轻量级、无需额外插件、易与维护等优势,在移动设备和桌面浏览器中得到了广泛的应用。CSS3提供了@keyframes规则来定义动画序列,通过animation属性来控制动画的表现形式。

weixin_42527589的博客 1662

HTML-CSS(四十一)animation动画

animation属性 animation-name:设置动画的名字(自定义的) animation-duration:动画的持续时间 animation-delay:动画的延迟时间 animatio-iteration-count:动画的重复次数,默认值是1,infinite无限次数 animation-timing-function:动画的运动形式 @keyframes name{ //定义关键帧 form{} to{} } @keyframes name{ 0%{} x%{} 100%{} } a

weixin_44730244的博客 4163

别再被网站识别成机器人了!用Python的undetected_chromedriver+Selenium实现无痕自动化

本文详细介绍了如何利用Python的undetected_chromedriver和Selenium实现无痕自动化,突破现代网站的反爬系统。通过修正浏览器指纹、模拟人类操作行为,并结合实战案例,帮助开发者构建难以被识别的自动化脚本,适用于电商监控等场景。

weixin_30367169的博客 251

基于STM32的智能交通灯管理系统设计

本项目基于STM32微控制器设计了一个智能交通灯管理系统,通过多个传感器模块实现对交通灯的智能化控制。项目涉及硬件电路设计、传感器数据采集和逻辑控制实现,适用于城市交通路口或小区路口。该基于STM32的智能交通灯系统通过超声波传感器实现了流量监测,结合LED和蜂鸣器实现了自动交通信号控制,适用于城市或社区路口。基于STM32CubeMX生成的框架,编写红绿灯切换、流量监测和蜂鸣器控制的代码。以下为主循环,通过不断读取传感器数据,结合交通灯和蜂鸣器模块实现智能交通灯控制。

2401_88410555的博客 2062

-webkit-animation动画,CSS动画的使用

web加载动画,CSS动画 今天由于工作需要,在Git上面拿到一个微信小程序,导入后随便点点,他的loading动画吸引到我了。根据源码,搭配blog,w3c,一点一点学习怎么设计的这个loading。 1.效果图 四周小方块不停的移动到中间方块,中间方块缩放。 2.wxml剖析 #(1)源码 布局 <!--正在加载--> <template name="loading"&gt...

Mying的博客 9101

数字通信:信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码

在通信系统中,信息的传输通常需要经过一系列的处理步骤,确保数据可以在信道中高效且可靠地传输。以下是信源编码、信道编码、调制、物理信道、解调、信道解码、信源解码的具体含义及其常见技术的解释。

weixin_44012667的博客 4804

HTML5和CSS3

CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。

ningmengjing_的博客 865

微信小程序后台定位与实时位置更新的实战指南

本文提供了微信小程序实现后台定位与实时位置更新的完整实战指南。针对小程序退到后台后位置更新中断的痛点,详细解析了基于`startLocationUpdateBackground`API的后台定位解决方案。内容涵盖从隐私协议配置、项目权限声明,到授权、启动、监听、停止的核心代码流程,并分享了真机调试、性能优化及权限引导等关键避坑经验,帮助开发者构建稳定可靠的后台位置服务。

weixin_29008055的博客 467

保姆级教程:用MATLAB搞定运动模糊图片修复(附完整代码与避坑指南)

本文提供了一份详细的MATLAB运动模糊图片修复教程,涵盖盲复原、图像复原等核心技术。通过傅里叶变换和Radon变换分析模糊参数,对比逆滤波、维纳滤波和Lucy-Richardson算法效果,并附完整代码与避坑指南,帮助用户实现专业级图像处理。

weixin_26765363的博客 228

html5+css3 学习笔记二(菜鸡详细入门笔记)

html5+css3 学习笔记二 一、2D转换 2D 转换是改变块级标签在二维平面上的位置和形状 移动: translate 旋转: rotate 缩放: scale 1.translate 改变块级标签的位置 语法: transform: translate(x, y) transform: translateX(n) transfrom: translateY(n) 代码演示: /* 水平垂直移动 100px */ /* transform: translate(100px, 1

weixin_45092437的博客 370

华为2019秋招笔试Java实现(2)

华为2019秋招笔试Java实现(2) 笔试日期2019年8月14日 第二题(200分) 题目描述 某程序员小A,有一种表格数据需要存储在文件中。表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串(字符串只包含数字、字母以及特殊字符!@#%^&*()",)。小A设计了一种存储格式,采用文本的方式对表格数据进行存储。文本文件中的每一行,代表了表格数据中的一行数据。具体格式描述如下: 1、采用逗号分隔不同的字段(逗号前后无空格); 2、数字直接采用10进制的文本存储; 3、字符串的存储规则如下

hewhys的博客 1548

CSS动画效果——语音播放小喇叭

写业务代码经常会碰到要自己实现一些设计交给的小动画,今天我们就来看下小喇叭那种类似倒过来的wifi图标一样的效果:语音播放效果对于这个有几种实现方案:一种是直接把图标.png文件放在下面,然后再在上面覆盖一层跟它弧度相似的圆形div,通过css的animation去控制那个覆盖的div从左向右移动,从而实现出这种效果(其实还是有区别的,用div控制移动就会出现一个一个逐渐出现且,会同时消失的场景,...

weixin_33975951的博客 1万+

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

funfan的博客 1314

静态代码审计插件 snyk 使用教程

静态代码审计插件 snyk 使用教程

SHELLCODE_8BIT的博客 2002

CSS样式

CSS样式 常用标签 标签名 作用 备注 p 段落文本内容 <P>段落文本内容</P> br 换行 <br/> 换行 hr 水平线 <hr/> 水平线 strong 文本加粗(推荐使用) <strong>强调的内容</strong> b 文本加粗 <b>加粗内容</b> em 文本倾斜(推荐使用) 强调倾斜文本 i 文本倾斜 &lt

qq_42290128的博客 899

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

CSS动画(animation)详解

CSS动画(animation)详解

我只是个很菜的前端 4万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

animation的八大属性及HTML基础动画效果——平移、旋转、缩放、倾斜、过渡

animation的八个基础属性、关键帧详细介绍,平移、旋转、缩放、倾斜、过渡的解释及应用

weixin_43183219的博客 1万+

CSS动画效果(animation属性)解析

CSS动画效果(animation属性)解析动画与变形和过渡的区别@keyframesanimation-name属性animation-duration属性animation-timing-function属性animation-delay属性animation-iteration-count属性animation-direction属性animation属性基础练习总结 动画与变形和过渡的区别 在CSS3中, 过渡 和 变形 只能设置元素的变换过程,并不能对过程中的某一环节进行精确控制,例如 过渡 和

shao_xuan_的博客 5229

5分钟实现漂亮的CSS加载动画,纯CSS实现加载动画

1 视频 视频地址: 2 知识点 2.1CSS calc() 函数 CSS calc() 函数用于动态计算长度值。 语法 calc(expression) 值 描述 expression 必须,一个数学表达式,结果将采用运算后的返回值。 需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100%- 10px); 任何长度值都可以使用calc()函数进行计算; calc...

AlbertYang的博客 1万+

html animation 属性,CSS3动画属性:动画(animation)

一:动画(animation)的参数详解由于上面用到了animation动画,这里详细介绍下这个animation的参数。简介CSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果。Animations的很多方面都是可以控制的,包括动画运行时间,开始值和结束值,还有动画的暂停和延迟其开始时间等。语法 = || |...

weixin_39522927的博客 2064

CSS动画属性 :transition过渡 、 transform变形、animation动画

在 CSS 中,过渡属性:transition, t元素从一种样式逐渐改变为另一种的效果,支持可识别中间值的属性 (如大小、颜色、位置、透明度等),而如 display 属性则不支持。transform:平移,旋转,倾角等。

wcxrib的博客 5001

一次搞懂 CSS3 animation动画中forwards和both的区别

平时会用 animation 实现动画效果,之前一直没有留意 animation-fill-mode 中 forwards 和 both 动画的区别,今天自己动手实现了一下,终于搞懂了。 animation-fill-mode 属性可以接受 none | forwards | backwards | both 四个值中的一个,接下来分别简单介绍一下每个值的效果。 mode 效果 n...

薛小科的博客 2万+

html 动画循环播放,CSS3 animation(动画) 属性

一、animation1.CSS3animation(动画)属性语法:animation: name duration timing-function delay iteration-count direction fill-mode play-state;实例:div{animation:mymove 5s infinite;-webkit-animation:mymove 5s infini...

weixin_39763902的博客 6519

html animation 属性,css3学习--css3动画详解一(animation属性)

***介绍的属性并不完全,写的都是我认为容易混淆的难点属性,所以属性会在最后综合案例展示~Keyframes介绍:Keyframes被称为关键帧,其类似于Flash中的关键帧。在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“{…}”,括号中就是一些不同时间段样式规则。@keyframes changecolor{0%{background: red;}100%...

weixin_33268464的博客 3336
上一篇: HTML之元素相对页面(视口)左上角的坐标
下一篇: Modeless dialog in html
Computer_Tech
博客等级 码龄3年 573粉丝 49原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值