热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS专题之动画

三个关键属性:transformtransitionanimation基本知识:1、变形Transform1.1、缩放scaletransform&#x

三个关键属性:transform   transition   animation

 

基本知识:


1、变形Transform

   1.1、缩放scale    transform:scale(0.5,1.5)  //水平缩小50%, 垂直扩大150%,只有一个参数时两个方向一样

   1.2、倾斜skew  transform:skew(30deg,30deg)//两个方向的倾斜, 只有一个参数时表示水平倾斜(左上)

   1.3、移动translate   transform:translate(30px,30px)//两个方向 的平移,只有一个参数时表示水平平移(右上)

   1.4、旋转rotate    transform:rotate(45deg)   //顺时针旋转45

注意:使用transform方法变形时,是以元素的基准点进行的, 使用transform-origin属性可改变基准点,水平方向可取left  center right,垂直方向可取top center bottom

2、Transition

   Transition:property duration timing-function,参数一指定对哪个参数进行平滑过渡,参数二指定多长时间内完成过度,参数三指定用什么方法进行过度

3、Animation 

  使用方法:

1、创建关键帧(注意:要兼容的话要加上前缀,如-webkit-等) 

@keyframes 关键帧集合名{

0%{  代码  }

50%{  代码  }

100%{  代码  }

}

 2、在指定元素上使用关键帧

      -webkit-animation-name: 关键帧名;

      -webkit-animation-duration:5s;

      -webkit-animation-timing-function:linear;

 

语法:

animationname duration timing-function delay iteration-count direction;

描述

animation-name

规定需要绑定到选择器的 keyframe 名称。

animation-duration

规定完成动画所花费的时间,以秒或毫秒计。

animation-timing-function

规定动画的速度曲线。

animation-delay

规定在动画开始之前的延迟。

animation-iteration-count

规定动画应该播放的次数,infinite表示无穷次。

animation-direction

规定是否应该轮流反向播放动画。

animation-directionnormal|alternate;

描述

normal

默认值。动画应该正常播放。

alternate

动画应该轮流反向播放。




代码实践:






transition
transform:translate(x,y)
测试transform:scale(x,y)
测试transform:skew(x,y)
测试transform:rotate()
animation

    总结:

  • transition:属性名 几秒内完成 用什么样的速度完成
  • transform有四种变换,通常结合transition一起使用,即将transform看作transition的属性名
  • 实现变化的时机是给需要变化的box添加hover伪类,伪类样式里填写变化后的样式,原来box里填写变化前的样式
  • animate的使用只需两步:
    1创建关键帧,在每一帧里写需要变化的属性;
    2 对要进行变化的box添加animation属性,该属性有六个值:帧名 几秒内完成 完成速度函数 延迟多久才执行 重复次数 是否需要反向执行动画(normal/alternate)

 样式表文件:

.test-transition,.test-transform_translate,.test-transform_scale,
.test-transform_skew,.test-transform_rotate,.test-animate{width: 200px;height: 200px;text-align: center;line-height: 200px;background-color: #ccc;float: left;margin: 20px;border-radius: 100px;
}
.sum{font-family: '微软雅黑';width: 800px;height: 260px;background-color: #ccc;margin: 20px;float:left;
}
.test-transition{transition:background-color 2s linear;
}
.test-transition:hover{background-color: red;
}
.test-transform_translate,.test-transform_scale,
.test-transform_skew,.test-transform_rotate{transition: transform 2s linear;transform-origin:left top;
}
.test-transform_translate{transform:translate(0);
}
.test-transform_translate:hover{transform:translate(150px);
}
.test-transform_scale{transform:scale(1);
}
.test-transform_scale:hover{transform:scale(1.5);
}
.test-transform_skew{transform:skew(0);
}
.test-transform_skew:hover{transform:skew(30deg);
}
.test-transform_rotate{transform:rotate(0);
}
.test-transform_rotate:hover{transform:rotate(360deg);
}
.test-animate{animation:changecolor 4s linear infinite alternate;
}
@keyframes changecolor{0%{background-color: blue;}50%{background-color: red;}100%{background-color: green;}
}


由于是动画效果,不好演示,就不上图了,可自行copy代码到浏览器看效果





推荐阅读
  • HTML制作简单首页导航
    h1大标题:李广程的作业列表查看演示地址一:http:js.lgcweb.cn查看演示备用地址:http:39.105.0.128Ja ... [详细]
  • css自适应字体样式?如果是一排文字,一个background‘red’;就搞定了。是多行的话,只有根据文字行高,用一张背景图横向重复。css样式自适应分辨率高度和宽度尽量使用百分 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 使用HTML创建弹出框以便用户输入信息
    在做项目的过程中,我们时常需要进行一些弹框操作,比如在后台管理时需要进行的一些增删改操作,这个时候我们需要使用到弹框,或者在 ... [详细]
  • JavaScript实现拖动对话框效果
    原标题:JavaScript实现拖动对话框效果代码实现:<!DOCTYPEhtml><htmllan ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 在分页时,我想让点过的页码变色.应该怎么做?比如:12345我点2跳到第2页然后2变成红色其他为蓝色 ... [详细]
  • backgroundposition和长图实现鼠标悬浮动画效果
    以下图片及代码均来自京东云点击这里进入京东云思路和效果图:background-position:00可以用js动态的将长图按帧数一帧一阵的展示出来效果类似gif,红框就是可视界面 ... [详细]
  • Tooltips效果,鼠标经过显示提示 ... [详细]
  • 一、选择器CSS规则由选择器以及声明组成。*选择器分组*h1,h2,h3{}*后代选择器*pem{}*子元素选择器*pem{}*兄弟选择器(选择位于其后具有相同父元素的元素)*h ... [详细]
author-avatar
malohual
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有