CSS3与动画有关的属性transition、animation、transform对比(史上最全版)

yizhihongxing

CSS3与动画有关的属性transition、animation、transform对比(史上最全版)

1. transition属性

transition属性是CSS3新特性,用于设定样式过渡效果,在原样式和新样式之间添加过渡动画。它需要指定过渡的属性、过渡的时间以及过渡的方式。过渡的属性可以是任意一个CSS属性,过渡时间可以是秒或毫秒,过渡方式可以是线性的、缓动的、三次贝塞尔曲线等。

1.1 基本语法

transition: property duration timing-function delay;

其中,

  • property是需要过渡的样式属性。例如,background-colortransformbox-shadow等。
  • duration是过渡动画的时间,可以使用秒或毫秒计数,例如2s或1000ms。
  • timing-function是过渡效果的变换速度,如ease、linear、ease-in、ease-out、ease-in-out等预设值,以及贝塞尔曲线。
  • delay是设定延迟执行过渡动画的时间,可以使用秒或毫秒计数,例如1s或500ms。

1.2 示例说明

如下面的代码,当鼠标滑过 <div> 元素时,它的背景色将会从白色变为黑色,时长为1秒:

div {
  background-color: white;
  transition: background-color 1s;
}
div:hover {
  background-color: black;
}

2. animation属性

animation是CSS3新特性之一,用于设定关键帧动画。它可以定义一个动画周期内的所有动作,并让浏览器将这些动作动起来,实现更加复杂的动画效果。在使用 animation 属性时,需要指定动画名称、持续时间、动画速度曲线等;另外,还需要定义关键帧,即动画进行到某个百分比时的具体表现形式。

2.1 基本语法

animation: name duration timing-function delay iteration-count direction fill-mode;

其中,

  • name是指定动画的名称。@keyframes 规则用于指定动画中不断变化的样式,这个名称要跟 @keyframes 规则的名称对应。
  • duration是动画周期的时长,可以使用秒或毫秒计数,例如2s或1000ms。
  • timing-function是过渡效果的变换速度,如ease、linear、ease-in、ease-out、ease-in-out等预设值,以及贝塞尔曲线。
  • delay是设定动画延迟执行的时间,可以使用秒或毫秒计数,例如1s或500ms。
  • iteration-count是设定动画的重复次数,可以设定为具体的次数,或者infinite表示无限循环。
  • direction是设定动画的播放方向,如normal、reverse、alternate、alternate-reverse。
  • fill-mode是设定在动画结束后,元素保持动画最后一帧的状态,可以包括none、forwards、backwards、both等。

2.2 示例说明

下面的代码展示了使用 animation 属性来实现一个永远旋转的圆形, CSS3 中提供了两种创建圆形的方法,一是用 border-radius 创建一个圆形,二是用 transformscale 缩放样式创建一个圆形。

.circle1 {
  width: 200px;
  height: 200px;
  background: #44B78B;
  border-radius: 50%;
  animation: rotate1 2s linear infinite;
}
@keyframes rotate1 {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

.circle2 {
  width: 200px;
  height: 200px;
  background: #44B78B;
  transform: scale(1);
  animation: rotate2 2s linear infinite;
}
@keyframes rotate2 {
  from {
    transform: rotate(0) scale(1);
  }
  to {
    transform: rotate(360deg) scale(1);
  }
}

3. transform属性

CSS3的 transform 属性用于元素的变形,可以将元素做平移、旋转、缩放等操作。它最重要的特点是在不改变元素自身原有格式的情况下,对其进行变形。

3.1 基本语法

transform: none|transform-functions;

其中,

  • none 表示不进行任何变形。
  • transform-functions 表示进行一系列变形操作,可以使用多个值同时作用于同一个元素。

3.2 示例说明

下面的代码展示了如何使用 transform 属性对一个 div 元素做平移和旋转。

div {
  width: 100px;
  height: 100px;
  background-color: blue;
  transform: translate(50px, 50px) rotate(45deg);
}

如上述代码中所示,当应用 translaterotate函数时,元素将沿着 X 和 Y 轴方向平移并旋转。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS3与动画有关的属性transition、animation、transform对比(史上最全版) - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS3使用border-radius属性制作圆角

    CSS3使用border-radius属性制作圆角 简介 border-radius属性用于设置元素的圆角半径。 通常,我们使用border-radius来创建圆形或椭圆形的形状,但它也可以用于创建自定义的非对称形状。 语法 具体的语法格式为: border-radius: <top-left-radius> <top-right-radi…

    css 2023年6月10日
    00
  • css 获取从第n个开始之后的所有元素

    要在CSS中获取从第n个开始之后的所有元素,可以使用CSS的伪类选择器:nth-child()。:nth-child()可以根据元素在其父元素中的位置进行选择。 首先,要获取从第n个开始的所有元素,需要将:nth-child()的参数设置为从第n个元素开始。例如,要选择从第3个元素开始的所有元素,可以使用:nth-child(n+3)。 然后,要选择从第n个…

    css 2023年6月10日
    00
  • 使用z-index:-1 让一个层在所有层的下面当背景

    使用z-index属性控制层级是CSS常用的技巧之一,可以让不同层之间进行层叠布局。在该技巧中,z-index数值越大的层级越高,会被放置在其他层级的前面。 要让一个层在所有层的下面当背景,我们可以将该层的z-index设置为-1,使其成为最低层的一个。 下面是使用z-index:-1让一个层在所有层的下面当背景的步骤: 确定背景层 首先,我们需要确认哪个层…

    css 2023年6月9日
    00
  • 通过CSS向JS传参的方法

    通过 CSS 向 JS 传参的方法,可以使用 CSS 变量(CSS Variables)来实现。CSS 变量是一种新的 CSS 特性,可以让开发者定义自己的 CSS 属性,以便在整个文档中重复使用。这种特性可以提高代码的可读性和可维护性,同时也可以减少代码的重复性。下面是一些关于 CSS 变量的示例说明。 定义 CSS 变量 可以使用 — 开头的名称来定义…

    css 2023年5月18日
    00
  • CSS文本如何折行介绍

    以下是“CSS文本如何折行介绍”的完整攻略: CSS文本如何折行介绍 在 CSS 中,可以使用 word-wrap 和 white-space 属性来控制文本的折行方式。以下是一些常用的方法。 方法1:使用 word-wrap 属性 word-wrap 属性用于控制文本的折行方式,以下是一些常用的方法: word-wrap: normal:默认值,不允许单词…

    css 2023年5月18日
    00
  • jQuery选择器之基本选择器用法实例分析

    jQuery选择器之基本选择器用法实例分析 什么是jQuery选择器? jQuery选择器是用于选择和操作HTML文档中的元素的一种jQuery方法,可以通过id、class、标签名等多种方式来获取元素,从而实现对页面元素的操作。 基本选择器有哪些? jQuery提供了丰富的选择器,许多常用的选择器都是基于CSS选择器进行扩展实现的。基本选择器包括: 定位元…

    css 2023年6月9日
    00
  • CSS教程:css属性之媒体(Media)类型

    让我们开始讲解“CSS教程: CSS属性之媒体类型”。 什么是媒体类型? 媒体类型是指应用 CSS 样式规则的设备或媒介类型。我们可以使用媒体查询(Media Query)指定不同设备或媒介类型的样式规则,以实现响应式设计。 媒体类型的类型 以下是常见的媒体类型: all:所有设备,包括打印机和屏幕。 print:打印机。 screen:电脑屏幕、平板和智能…

    css 2023年6月10日
    00
  • 纯CSS3实现飘逸洒脱带有飞行效果的三级下拉菜单

    下面是详细讲解“纯CSS3实现飘逸洒脱带有飞行效果的三级下拉菜单”的完整攻略。 简介 下拉菜单是网站中非常常见的一种菜单样式,三级下拉菜单相比于一二级下拉菜单,具有层次更加分明、展示内容更全面的特点。本文将详细讲解如何使用CSS3实现飘逸洒脱带有飞行效果的三级下拉菜单。 初探 要实现三级下拉菜单,需要用到HTML和CSS两种语言来编写代码。首先,我们需要在H…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部