CSS教程--动画

这篇具有很好参考价值的文章主要介绍了CSS教程--动画。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.2D转换

1.translate()平移操作

2.rotate() 旋转操作

3.scale() 放大缩小操作

3.1.scaleX() 

3.2.scaleY() 

4.skew() 倾斜操作

二.3D变换

1.rotateX() 

2.rotateY() 

3.rotateZ() 

三.CSS过渡

1.transition 属性

2.transition-delay 属性

3.transition-timing-function 属性

4.transition- property 属性和transition-duration属性

四.CSS动画


一.2D转换

CSS中的2D转换顾名思义就是在平面内对元素或标签进行二维变换,通过tranform属性可以对元素进行平移,旋转,放大缩小和倾斜等操作,如下是这几种变换的方法:

  • translate
  • rotute
  • scale
  • skew

1.translate()平移操作

        translate方法有两个参数,对应X轴Y轴,也就是该元素要移动到位置

例如:将一个div标签沿x移动50px,沿y移动100px

.div{
width:30px;
height:50px;
transform:translate(50px,100px)
}

2.rotate() 旋转操作

        给rotate()方法传入一个角度时可以实现旋转操作,旋转的方向取决于传入角度的正负,正角度顺时针旋转,负角度逆时针旋转

例如:将一个div标签顺时针旋转20度

 div{
            width: 60px;
            height:80px;
            background-color: chartreuse;
            border-radius:20%;
            transform: rotate(20deg);
        }

3.scale() 放大缩小操作

        scale()方法传入两个数值分别表示宽度和高度变换的倍数,数值对于1表示放大,小数表示缩小,当然,负数是没有意义的

例如:将一个div标签宽放大2倍,高放大3倍

  div{
            width: 60px;
            height:80px;
            background-color: chartreuse;
            position: fixed;
            border-radius:20%;
            transform: scale(2,3) translate(50px,100px);
        }

3.1.scaleX() 

        scaleX()方法和csale()方法一样,但scaleX()只对元素宽度进行改变


3.2.scaleY() 

        不用说,都懂


4.skew() 倾斜操作

        skew()方法传入两个角度参数,实现沿X,Y轴对元素的倾斜,注意倾斜和旋转不一样

例如:沿X轴倾斜div标签20度,Y轴30度

 div{
            width: 60px;
            height:80px;
            background-color: chartreuse;
            position: fixed;
            border-radius:20%;
            transform: skew(20deg,30deg) translate(50px,100px);
        }

注意skewX()方法和skewY()方法分别是沿X,Y轴倾斜


二.3D变换

3D变换只涉及到三维的旋转,3D变换的transform属性有如下几个方法:

  • rotateX
  • rotateY
  • rotateZ

1.rotateX() 

rotateX()方法沿x轴旋转指定角度

例如:

#myDiv {
  transform: rotateX(150deg);
}

css动画,前端学习,css3,前端,css


2.rotateY() 

rotateX()方法沿x轴旋转指定角度

例如:

#myDiv {
  transform: rotateY(150deg);
}

css动画,前端学习,css3,前端,css


3.rotateZ() 

rotateX()方法沿x轴旋转指定角度

例如:

#myDiv {
  transform: rotateZ(150deg);
}

css动画,前端学习,css3,前端,css


三.CSS过渡

        CSS过渡指可以在一定时间内改变元素的属性,所有,一个过渡操作要包含过渡的元素和过渡的时间,如下是过渡的几个属性:

  • transition
  • transition-delay
  • transition-duration
  • transition-property
  • transition-timing-function

1.transition 属性

        transition属性给定过渡的元素和时间,即可在给定时间内执行过渡操作,注意的是,transition属性只通过过渡的条件,过渡的操作自行定义

例如:但鼠标悬停时改变div标签的宽度

 div{
            width: 90px;
            height: 100px;
            background-color: #3425;
            border-radius:20%;
            transition:width 2s;
        }
        div:hover{
            width: 150px;
        }

2.transition-delay 属性

        transition-delay属性规定了过渡效果的延迟时间,说通俗一点就是该属性规定了要等待几秒后在发生过渡的效果(以秒为单位)

例如:等待1秒后再实现鼠标悬停时改变div的宽度

   div{
            width: 90px;
            height: 100px;
            background-color: #3425;
            border-radius:20%;
            transition:width 2s;
            transition-delay: 1s;
        }
        div:hover{
            width: 150px;
        }

3.transition-timing-function 属性

        transition-timing-function 属性规定过渡效果的速度曲线。

transition-timing-function 属性可接受以下值:

  • ease - 规定过渡效果,先缓慢地开始,然后加速,然后缓慢地结束(默认)
  • linear - 规定从开始到结束具有相同速度的过渡效果
  • ease-in -规定缓慢开始的过渡效果
  • ease-out - 规定缓慢结束的过渡效果
  • ease-in-out - 规定开始和结束较慢的过渡效果
  • cubic-bezier(n,n,n,n) - 允许您在三次贝塞尔函数中定义自己的值

4.transition- property 属性和transition-duration属性

        transition-property属性指定元素过渡的属性,相当于transition属性的第一个参数,而transition-duration属性规定过渡的时间,类似于第二个参数

例如:上个例子可以写成这样

   div{
            width: 90px;
            height: 100px;
            background-color: #3425;
            border-radius:20%;
            transition-duration:2s;
            transition-property: width;
            transition-delay: 1s;
        }
        div:hover{
            width: 150px;
        }

四.CSS动画

        CSS通过改变HTML元素来实现动画效果

        首先谈到CSS动画,我们先要知道@keyframes,它规定了一个html标签可以在一段时间里改变从而实现动画效果,

        然后是animaton-duration,规定了动画的时间,如果没有设置animation-durantion属性动画是没法子实现,因为该属性默认值为0,我们可以以from和to为时间规定动画变化的时间,或者是以0%~100%为时间线来表示

        animation-delay,设置动画的延迟效果,如果是负值,表示动画提前开始

        animation-retrion-count,设置动画播放的次数,如果次数为infinite表示动画一直播放

        

        animation-direction 属性指定是向前播放、向后播放还是交替播放动画。

animation-direction 属性可接受以下值:

  • normal - 动画正常播放(向前)。默认值
  • reverse - 动画以反方向播放(向后)
  • alternate - 动画先向前播放,然后向后
  • alternate-reverse - 动画先向后播放,然后向前

        

        animation-timing-function 属性规定动画的速度曲线。

animation-timing-function 属性可接受以下值:

  • ease - 指定从慢速开始,然后加快,然后缓慢结束的动画(默认)
  • linear - 规定从开始到结束的速度相同的动画
  • ease-in - 规定慢速开始的动画
  • ease-out - 规定慢速结束的动画
  • ease-in-out - 指定开始和结束较慢的动画
  • cubic-bezier(n,n,n,n) - 运行您在三次贝塞尔函数中定义自己的值

        

        animation-fill-mode 属性规定目标元素的样式,就是动画结束了,图案的位置

animation-fill-mode 属性可接受以下值:

  • none - 默认值。动画在执行之前或之后不会对元素应用任何样式。
  • forwards - 元素将保留由最后一个关键帧设置的样式值(依赖 animation-direction 和 animation-iteration-count)。
  • backwards - 元素将获取由第一个关键帧设置的样式值(取决于 animation-direction),并在动画延迟期间保留该值。
  • both - 动画会同时遵循向前和向后的规则,从而在两个方向上扩展动画属性。

例如:一个简单的颜色变换动画文章来源地址https://www.toymoban.com/news/detail-734007.html

 @keyframes example{
          from{top:0px;background-color: chartreuse;}
         to{top: 200px;background-color: aqua;}
      }
      div{
          background-color: chartreuse;
          width: 80px;
          height: 70px;
          position: relative;
          border-radius: 50px;
          animation-name: example;
          animation-duration: 2s;
          animation-delay:1s;
          animation-iteration-count: 2;
          animation-fill-mode: backwards;
      }

到了这里,关于CSS教程--动画的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端学习——CSS3

    box-sizing resize box-shadow opacity background-origin background-clip background-size background复合属性 多背景图 边框圆角 边框外轮廓 文本阴影 文本换行 文本溢出 文本修饰 文本描边 线性渐变

    2024年02月12日
    浏览(32)
  • 看不上日全食了,学习CSS3,实现一个日全食的动画特效

    看新闻说,今年全球唯一一次日全食将于北京时间4月9日凌晨在北美洲地区上演。看来那边我是去不成了,日全食也看不见了,不过我可以用CSS3实现一个日全食的动画特效。一起来看一下吧。   目录 1. 实现思路 2. 天空的生成已经渐变 3 太阳的生成以及渐变 4 月亮的生成以及

    2024年04月09日
    浏览(32)
  • 前端 | ( 十一)CSS3简介及基本语法(上) | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月16日
    浏览(34)
  • 前端小白的学习之路(CSS3 三)

    提示:过渡属性transition,动画属性animation,转化属性transform,裁剪属性clip-path,倒影属性box-reflect,模糊度属性filter  目录 一、transition  二、animation  三、transform  四、clip-path   五、box-reflect  六、filter  过渡:以看见标签从一个属性变化到另一个属性值的过程。 transition-pro

    2024年03月19日
    浏览(34)
  • 前端学习——css盒子模型、css3新特性、伪类、布局0711TODO

    样式还是得具体使用才能理解,不然会忘记也理解不透彻;还有定位,元素溢出,浮动,布局水平垂直对齐: css3新特性 1过渡 2 动画 3 2D、3D转换 伪类 三种定位方式 弹性布局/栅格布局

    2024年02月15日
    浏览(29)
  • 前端 | ( 十三)CSS3简介及基本语法(下)| 伸缩盒模型 | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月16日
    浏览(49)
  • 【CSS3】CSS3 动画 ⑤ ( 动画速度曲线 | 设置动画步长 | 动画匀速执行 | 动画分 2 步执行 | 使用动画步长实现打字机效果 )

    CSS3 样式中 , 设置 动画速度曲线 的属性是 animation-timing-function 属性 ; animation-timing-function 属性定义了动画从 初始 CSS 样式 变为 结束状态 时 所消耗的时间 ; animation-timing-function 属性常用 属性值 如下 : linear : 动画在整个执行过程中速度都是匀速的 ; ease : 默认属性值 , 动画首先

    2024年02月13日
    浏览(35)
  • 【css3】涟漪动画

    2024年02月06日
    浏览(33)
  • CSS3 动画

    个人主页: 学习前端的小z 个人专栏: HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 在 CSS3 出现之前,动画都是通过 JavaScript 动态的改变元素的样式属性来完成了,这种方式虽然能够实现动画,但是在性能上存

    2024年04月26日
    浏览(43)
  • CSS3设计动画样式

    CSS3动画包括过渡动画和关键帧动画,它们主要通过改变CSS属性值来模拟实现。我将详细介绍Transform、Transitions和Animations 3大功能模块,其中Transform实现对网页对象的变形操作,Transitions实现CSS属性过渡变化,Animations实现CSS样式分步式演示效果。 2012年9月,W3C发布CSS3变形工作草

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包