码迷,mamicode.com
首页 > Web开发 > 详细

2017.12.06html笔记10

时间:2017-12-11 16:03:56      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:情况   定位   过程   infinite   body   次数   元素对象   组成   判断   

第九章 CSS3动画制作
 1.CSS3变形transform
  语法:transform:[transform-function] *;
  设置变形函数,可以是一个,也可以是多个,中间以空格分开
 2.变形函数
  2.1 translate(tx,ty):平移函数,基于X、Y坐标重新定位元素的位置
   translateX(tx):表示只设置X轴的位移
   translateY(ty:表示只设置Y轴的位移
  2.2 scale(tx,ty):缩放函数,可以使任意元素对象尺寸发生变化
   scaleX(sx):表示只设置X轴的缩放
   scaleY(sy):表示只设置Y轴的缩放
  2.3 rotate(a):旋转函数,取值是一个度数值
   参数a单位使用deg表示
   参数a取正值时元素相对原来中心顺时针旋转
  2.4 skew(ax,ay):倾斜函数,取值是一个度数值
   skewX(ax):表示只设置X轴的倾斜
   skewY(ay):表示只设置Y轴的倾斜
  注意:rotate( )函数只是旋转,而不会改变元素的形状
   skew( )函数是倾斜,元素不会旋转,会改变元素的形状
 
 3.过渡transition
  3.1 transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
   语法:transition:[transition-property  transition-duration  transition-timing-function   transition-delay ]
  3.2 过渡属性( transition-property )
   1)定义转换动画的CSS属性名称
   2)取值
    属性名称:指定的CSS属性(width、height、background-color属性等)
    all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
  3.3 过渡所需的时间( transition-duration )
   定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)
  3.4 过渡动画函数( transition-timing-function )
   1)指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式
   2)取值
    ease:速度由快到慢(默认值)
    linear:速度恒速(匀速运动)
    ease-in:速度越来越快(渐显效果)
    ease-out:速度越来越慢(渐隐效果)
    ease-in-out:速度先加速再减速(渐显渐隐效果)

  3.5 过渡延迟时间( transition-delay )
   1)指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果
   2)取值
    正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
    负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
    0:默认值,元素过渡效果立即执行
 
  3.6 过渡触发的机制
   1)伪类触发
    :hover
    :active
    :focus
    :checked
   2)媒体查询:通过@media属性判断设备的尺寸,方向等
   3)JavaScript触发:用JavaScript脚本触发

  3.7 使用步骤
   a.在默认样式中声明元素的初始状态样式
   b.声明过渡元素最终状态样式,如悬浮状态
   c.在默认样式中通过添加过渡函数,添加一些不同的样式

 
 4. animation动画 
  4.1 实现动画的组成部分
   a.通过类似Flash动画的关键帧来声明一个动画
   b.在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果
  4.2 设置关键帧
   语法一:
    @keyframes name  {
       from {/*CSS样式写在这里*/}
       percentage {/*CSS样式写在这里*/}
       to {/*CSS样式写在这里*/}
    }
   语法二:
    @keyframes name {
       0% {width:0;}
       33% {width:23px;}
       66% {width:46px;}
       100% {width:69px;}
     }
  注意:写兼容的时候浏览器前缀是放在@keyframes中间
   例如:@-webkit-keyframes、@-moz- keyframes

  4.3 调用关键帧
   animation:animation-name  animation–duration  animation-timing-function
               animation-delay  animation-iteration-count  animation-direction 
       animation-play-state  animation-fill-mode;
   
   animation-name:由@keyframes创建的动画名称
   animation–duration:动画时间
        animation-timing-function:动画方式
     animation-delay:延迟时间
     animation-iteration-count :动画的播放次数
     animation-direction :动画的播放方向
   animation-play-state :动画的播放状态
   animation-fill-mode:动画开始之前和结束之后发生的操作
   1)动画的播放次数(animation-iteration-count)
    a.值通常为整数,默认值为1
    b.特殊值infinite,表示动画无限次播放
   2)动画的播放方向(animation-direction)
    a.normal,动画每次都是循环向前播放
    b.alternate,动画播放为偶数次则向前播放
   3)动画的播放状态(animation-play-state)
    a.running将暂停的动画重新播放
    b.paused将正在播放的元素动画停下来
   4)动画发生的操作(animation-fill-mode)
    a.forwards表示动画在结束后继续应用最后关键帧的位置
    b.backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
    c.both表示元素动画同时具有forwards和backwards的效果

2017.12.06html笔记10

标签:情况   定位   过程   infinite   body   次数   元素对象   组成   判断   

原文地址:http://www.cnblogs.com/sj1249932920/p/8023132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!