CSS 渐变和动画

该文详细介绍了CSS3中的渐变效果,包括线性渐变和径向渐变的使用方法。同时,阐述了2D和3D变形的概念及常用函数,如translate、rotate和scale。此外,还讲解了过渡动画和关键帧动画的原理及属性设置,如transition和@keyframes,提供了一种无需JavaScript或Flash即可实现动态效果的方法。
摘要由CSDN通过智能技术生成

目录

一、渐变

 1.线性渐变

2.径向渐变(放射渐变)

 二、动画效果-变形

 1.transform: 2D变形

2. transform 3D变形

三、动画效果-过渡

1.过渡动画

2. 过渡动画的属性

四、动画效果-关键帧动画

        css3 动画属性

一、渐变

 1.线性渐变

        属性:linear-gradient(开始位置 角度,起始颜色,终止颜色)

  • 开始位置:渐变开始的位置,属性值可以为百分比/长度/left、right、top\bottom(可组合使用)
  • 角度:渐变终止方向的角度,当开始位置为数值或百分比的时候可用
  • 起始颜色
  • 终止颜色
  • 重复渐变:将属性修改为:repeating-linear-gradinet()

2.径向渐变(放射渐变)

  •         属性:radial-gradient(形状、发散方向、起始颜色、终止颜色)
  •         形状:ellipse(椭圆)/ circle(圆形)
  •         发散方向:属性值可以是left、right、top、bottom、center(可组合使用)
  •         大小(半径):属性值可用像素或关键字表示
    1. closest-side:圆心到距离最近的边
    2. farthest-side:圆心到距离最远的边
    3. closest-corner:圆心到距离最近的角
    4. farthest-corner:圆心到距离最远的角
  •         起始颜色
  •         终止颜色
  •         重复的径向渐变:repeating-radial-gradinet()

 二、动画效果-变形

 1.transform: 2D变形

        通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。转换方法: translate()/rotate()/scale()/skew()/matrix()

  •         none 定义不进行转换
  •         translate(x,y) 定义 2D 平移转换
  •         translateX(x) 定义转换,只是用 X 轴的值
  •         translateY(y) 定义转换,只是用 Y 轴的值

2. transform 3D变形

  •         transform:3D 变形可以近似理解为沿着 Z 轴移动元素,使得元素更加靠近或者远离你,从而使元素 看起来变得更大或更小。
  •        transform:3D 变形函数
  •         transform-origin 允许你改变被转换元素的位置。2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴
  •         perspective(n) 为 3D 转换元素定义透视视图。
  •         transform-style 规定被嵌套元素如何在 3D 空间中显示

        

三、动画效果-过渡

1.过渡动画

  •         通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript的情况下,当元素从一种样式变换为另一种样式时为元 素添加效果。
  •         CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。要实现这一点,必须规定两项内容:把效果添加到哪个 CSS 属性上/规定效果的时长。

2. 过渡动画的属性

  •         transform 简写属性,用于在一个属性中设置四个过渡属性。
  •         transform-property 规定应用过渡的css属性的名称
  •         transform-duration 定义过渡效果花费的时间,默认是0。单位是秒或毫秒。
  •         transform-timing-function 规定过渡效果的时间曲线。默认是‘ease’。
  •         transition-delay 规定过渡效果何时开始。默认是0。

四、动画效果-关键帧动画

        css3 动画属性

通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。

        @keyframes 设定动画规则。可以近似理解为动画的剧本。

                        name:必需,定义动画的名称。

                        0-100%/from……to……:必需,动画时长的百分比。

                        需要变化的css样式属性:必需。

        animation 所有动画属性的简写属性,用于设置六个动画属性:

                        animation-name/animation-duration/animation-timing-function

                        /animation-delay/animation-iterationcount/animation-direction

        animation-name 属性为 @keyframes 动画规定名称。若设置为none 则覆盖已有的动画效果

        animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0

        animation-timing-function 规定动画的速度曲线。默认是"ease"

        animation-iteration-count 规定动画被播放的次数。默认是1。infinite 为无限次播放

        animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal 顺向播放"。/ alternate 动画应该轮流 反向播放

        animation-play-state 规定动画是否正在运行或暂停。默认是"running 规定动画正在播放。"。/paused 规定动画 暂停

        animation-fill-mode 规定对象动画时间之外的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值