当前位置: 首页 > news >正文

建设信息港网站水印wordpress

建设信息港网站,水印wordpress,微网站如何做推广方案,网站建设存在问题整改报告CSS3之空间转换和动画 目录 CSS3之空间转换和动画一、空间转换1.1 概述1.2 3D转换常用的属性1.3 3D转换:translate3d(位移)1.4 3D转换:perspective(视角)1.5 3D转换:rotate3d(旋转&a…

CSS3之空间转换和动画

目录

  • CSS3之空间转换和动画
    • 一、空间转换
      • 1.1 概述
      • 1.2 3D转换常用的属性
      • 1.3 3D转换:translate3d(位移)
      • 1.4 3D转换:perspective(视角)
      • 1.5 3D转换:rotate3d(旋转)
      • 1.6 3D转换:transform-style: preserve-3d(立体呈现)
      • 1.7 3D转换:scale3d(缩放)
      • 1.7 3D导航案例
    • 二、动画
      • 2.1 动画介绍
      • 2.2 动画的基本使用
      • 2.3 动画的常用属性
      • 2.4 逐帧动画

一、空间转换

目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果

1.1 概述

  • 空间:是从坐标轴角度定义的。x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同

  • 空间转换也叫3D转换

  • 属性:transform
    在这里插入图片描述

  • 2D转换能够改变元素X轴和Y轴方向特性,3D转换还能改变Z轴方向特性,并且可以通过视角设置透视关系,使元素具有透视效果

1.2 3D转换常用的属性

在这里插入图片描述

1.3 3D转换:translate3d(位移)

目标:使用translate实现元素空间位移效果

  • 语法
    • transform: translate3d(x, y, z);
    • transform: translateX(x);
    • transform: translateY(y);
    • transform: translateZ(z);
  • 取值(正负即可):① 数字+px ② 百分比
  • 注意点:x,y,z是不能够省略的,如果没有就写0

1.4 3D转换:perspective(视角)

目标:使用perspective属性实现透视效果

  • 思考:生活中,同一个物体,观察距离不同,视觉上有什么区别?
    • 答:近大远小、近清楚远模糊
  • 思考:默认情况下,为什么无法观察到Z轴位移效果?
    • 答:Z轴是视线方向,移动效果是距离的远或近, 电脑屏幕是平面,默认无法观察远近效果
  • 属性(添加给父级
    • perspective: 值;
    • 取值:像素单位数值, 数值一般在800 – 1200
  • 作用
    • 空间转换时,为元素添加近大远小、近实远虚的视觉效果
      在这里插入图片描述

1.5 3D转换:rotate3d(旋转)

目标:使用rotate实现元素空间旋转效果

  • 语法
    • transform: rotate3d(x, y, z, angle);
    • transform: rotateX(x);
    • transform: rotateY(y);
    • transform: rotateZ(z);
  • 注意点:
    • rotate3d(x, y, z, angle) :用来设置自定义旋转轴的位置及旋转的角度
    • x,y,z 取值为0-1之间的数字
  • 左手法则:判断旋转方向: 左手握住旋转轴, 拇指指向正值方向, 手指弯曲方向为旋转正值方向
    在这里插入图片描述

1.6 3D转换:transform-style: preserve-3d(立体呈现)

目标: 使用transform-style: preserve-3d呈现立体图形

  • 思考:使用perspective透视属性能否呈现立体图形?

    • 答:不能,perspective只增加近大远小、近实远虚的视觉效果
  • 实现方法

    • 添加transform-style: preserve-3d;
    • 使子元素处于真正的3d空间
      在这里插入图片描述
  • transform-style取值

    • preserve-3d :设置3D转换
    • flat :默认值
  • 呈现立体图形步骤

    1. 盒子父元素添加transform-style: preserve-3d;
    2. 按需求设置子盒子的位置(位移或旋转)
  • 注意:空间内,转换元素都有自已独立的坐标轴,互不干扰
    在这里插入图片描述

1.7 3D转换:scale3d(缩放)

目标:使用scale实现空间缩放效果

  • 语法
    • transform: scale3d(x, y, z)
    • transform: scaleX(x)
    • transform: scaleY(y)
    • transform: scaleZ(z)

1.7 3D导航案例

目标:使用立体呈现技巧实现3D导航效果

  • 实现思路:
    1. 搭建立方体:绿色盒子是立方体的前面,橙色盒子是立方体的上面
      在这里插入图片描述

      • li标签
        • 添加立体呈现属性transform-style: preserve-3d;
        • 添加旋转属性(为了便于观察效果,案例完成后删除即可)
          在这里插入图片描述
      • a标签
        • 调节a标签的位置
          • a标签定位(子绝父相)
          • 英文部分添加旋转和位移样式
          • 中文部分添加位移样式
            在这里插入图片描述
    2. 添加hover状态旋转切换效果

      • 鼠标滑过li, 添加空间旋转样式
      • li添加过渡属性
    3. 注意: 案例完成后,删除li的旋转样式

二、动画

目标:使用animation添加动画效果

2.1 动画介绍

  • 动画是CSS3中具有颠覆性的特征之一,有通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。
    相较于过渡,动画可以实现更多变化,更多控制,连续自动播放等效果

  • 动画效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)
    在这里插入图片描述

  • 动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面

  • 构成动画的最小单元:帧或动画帧
    在这里插入图片描述

2.2 动画的基本使用

  • 制作动画分为两步:

    1. 先定义动画
      在这里插入图片描述

    2. 再使用(调用)动画
      在这里插入图片描述

  • 动画的序列

    • 0%是动画的开始,100%是动画的完成。这样的规则就是动画序列
    • 在 @keyframes 中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果
    • 动画是元素从一种样式逐渐变化为另外一种样式的效果。你可以改变任意多的样式任意多的次数
    • 请使用百分比来规定变化发生的时间,或者关键词 from 和 to ,等同于 0% 和 100%
  1. 使用 @keyframes 定义动画(类似定义类选择器)
/* 定义动画 *//* ① 百分比 */
@keyframes 动画名 {0% {初始状态样式}100% {动画结束时样式}
}/* 关键字 */
@keyframes 动画名 {from {初始状态样式}to {动画结束时样式}
}
  1. 元素使用动画
/* 使用(调用动画) */使用动画的元素 {/* 调用动画 */animation-name: 动画名称;/* 持续时间 */animation-duration: 持续时间;
}
  1. 快速体验
    定义并使用动画
/* 需求:我们打开页面,盒子就从左边走到右边 */
/* 第1种:百分比 */
/* 1.定义动画 */
@keyframes move {0% {transform: translate(0, 0);}100% {transform: translate(1000px, 0);}
}
/* 第2种:关键字 */
/* 1.定义动画 */
/* from 和 to 等价于 0% 和 100% */
@keyframes move {from {transform: translate(0, 0);}to {transform: translate(1000px, 0);}
}
div {width: 200px;height: 200px;background-color: pink;/* 2.调用动画 *//* 动画名称 */animation-name: move;/* 动画持续时间 */animation-duration: 2s;
}

动画序列里的百分比

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initialscale=1.0"><title>Document</title><style>/* 动画序列 *//* 1. 可以做多个状态的变化 keyframes 关键帧*//* 2. 里面的百分比要是整数 *//* 3. 里面的百分比就是 总的时间的划分 eg: 6s * 25% = 1.25s*/@keyframes move {/* 起始状态,可以为空或者不写 */0% {transform: translate(0, 0);}25% {transform: translate(1000px, 0);}50% {transform: translate(1000px, 500px);}75% {transform: translate(0, 500px);}100% {transform: translate(0, 0);}}div {width: 200px;height: 200px;background-color: pink;/* 调用动画,直接使用名字调用 */animation-name: move;/* 设置动画持续时间 */animation-duration: 6s;}</style>
</head>
<body><div></div>
</body>
</html>
  1. 动画的连写
    在这里插入图片描述
    • 动画名称和动画时长必须赋值
    • 取值不分先后顺序
    • 如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

2.3 动画的常用属性

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>@keyframes move {0% {transform: translate(0, 0);}100% {transform: translate(1000px, 0);}}div {width: 100px;height: 100px;background-color: pink;/* 动画名称(必备属性) */animation-name: move;/* 持续时间(必备属性)*/animation-duration: 2s;/* 动画运动速度曲线 */animation-timing-function: ease;/* 动画何时开始 */animation-delay: 1s;/* 重复次数 iteration 重复的 count 次数 infinite 无限 */animation-iteration-count: infinite;/* 是否反方向播放 默认是normal 若需要逆向播放,则使用alternate*/animation-direction: alternate;/* 动画结束状态 默认是backwards 回到起始状态,我们也可以让他停留在结束状态
forwards */animation-fill-mode: forwards;}div:hover {/* 动画播放状态 *//* 鼠标经过 div, 让这个 div 的动画停止,鼠标离开 div 就继续播放动画 */animation-play-state: paused;}</style>
</head>
<body><div></div>
</body>
</html>

2.4 逐帧动画

目标:使用steps实现逐帧动画

  • 属性: animation-timing-function

  • 取值: steps(数字):逐帧动画
    在这里插入图片描述

  • 逐帧动画:帧动画。开发中,一般配合精灵图实现动画效果

  • animation-timing-function: steps(N); 将动画过程等分成N份
    在这里插入图片描述

  • 精灵动画制作步骤

    • 准备显示区域
      • 设置盒子尺寸是一张小图的尺寸,背景图为当前精灵图
    • 定义动画
      • 改变背景图的位置(移动的距离就是精灵图的宽度)
    • 使用动画
      • 添加速度曲线steps(N),N与精灵图上小图个数相同
      • 添加无限重复效果
        在这里插入图片描述
  • 多组动画

    • 思考:如果想让小人跑远一些,该如何实现?
    • 答:精灵动画的同时添加盒子位移动画
      在这里插入图片描述
/* 样式代码 */
.box {width: 140px;height: 140px;background: url("./images/jlbg.png") no-repeat 0 0;animation: run 1s steps(12) 3, move 3s linear forwards;
}
@keyframes run {/* 动画的开始状态和原来的默认样式相同时,可以省略开始状态的代码 */0% {background-position: 0 0;}100% {background-position: -1680px 0;}
}
@keyframes move {0% {transform: translate(0);}100% {transform: translate(1000px);}
}
<!-- 结构代码 -->
<div class="box"></div>
http://www.yayakq.cn/news/602598/

相关文章:

  • 手机端网站设计尺寸网站网络推广优化
  • 欧洲网站服务器微信导航网站怎么做
  • 深圳公司网站制作wordpress腾讯云储存
  • 电商网站设计的原则腾讯视频创作平台
  • 如何获得网站域名上海网站建设网页设计
  • 找人给公司做网站去哪找怎么做网站推广实际效果好
  • dw如何做网站登陆验证域名大全
  • 网站建设工作整改报告成都网页开发
  • 新手建站素材域名后有个wordpress
  • 网站开发技术文档格式零基础网页设计制作培训
  • 做网站的是哪类公司十大免费文案网站
  • 专门做优惠劵的网站做牛仔裤的视频网站
  • 网站导航作用东莞网站建设设计
  • 网站定制建设公司阿里云建设网站流程
  • 可信网站认证图标手机网站建设 上海
  • 婚庆摄影网站模板公众号开发平台官网
  • 织梦网站添加广告位百度号码认证
  • 建站系统是什么做网站包括什么
  • 图书管理系统网站开发深圳 建网站
  • 如何自己制作自己的网站门户网站自查报告
  • 网站编辑工作内容wordpress 快速编辑器
  • ip下的网站吗如何只做网站
  • 如何建设一个专业的网站WordPress集成阿里图标
  • 网站互动怎么做小杨哥直播带货平台
  • 淘宝领券网站怎么做网站php文件上传
  • 不同类型的网站少儿编程scratch
  • 0建设营销型网站步骤沈阳网站关键词优化多少钱
  • 苏州网站建站公司云南seo简单整站优化
  • 伪静态 网站如何扫描郑州中森网站建设
  • 濮阳网站建设熊掌网络多语言网站怎么实现