CSS 2D3D转换与动画

news2024/9/25 7:22:53

CSS 2D&3D转换与动画

字体图标

  • 字体图标展示的是图标,本质是字体

  • 处理简单的,颜色单一的图片,使用字体图标

  • 使用:

    1. 下载:https://www.iconfont.cn/

      image-20240827223212932

    2. 引入字体图标样式表

      image-20240827223225231

    3. 对应标签上classz增加对应的类名,必须调用2个类名

      image-20240827223422469

      image-20240827223654331

2D

  • 使用transform属性实现元素的位移、旋转、缩放等效果
  • 一个元素上要实现多个效果时,要写复合属性,写在一起

位移

  • 语法:transform:translate(水平移动距离,垂直移动距离);
  • 取值:正负均可
    • 像素单位数值
    • 百分比(参照物为自身盒子的尺寸)
  • 技巧:
    • translate()如果只给出一个值,表示X轴方向移动距离
    • 单独设置某个方向的移动距离:translateX()translateY()

旋转

  • 语法:transform:rotate(角度)
  • 取值:正负均可
    • 角度单位 deg
    • 正值,顺时针转
    • 负值,逆时针转
    • 没有效果时需加过度:transition:all 2s;
  • 旋转原点
    • transform-origin:原点水平位置 原点垂直位置; 改变旋转原点
    • 默认原点是盒子中心点
    • 取值:
      • 方位名词(left、top、right、bottom、center)
      • 像素单位数值
      • 百分比(参照自身盒子尺寸计算)
  • 多重转换
    • 边走边转 transform:translateX(600px) rotate(360deg)
    • 不能拆开,拆开效果是,先位移,在旋转
    • 不能改变先后顺序,位移旋转绕盒子中心点,旋转改变X轴的方向

过度

  • transition:哪些属性有过度效果 时间
  • all 全部属性,都有过度效果
  • transform,只让transform有过度效果

缩放

  • 从中心点向四周缩放

  • 语法:transform:scale(x轴缩放倍数,y轴缩放倍数)

  • 取值:

    • 小于1,缩小
    • 大于1,放大
  • 技巧

    • 一般情况下,只为scale设置一个值,表示X轴和Y轴等比例缩放
    • transform:scale(缩放倍数)

渐变

  • 渐变是多个颜色逐渐变化的视觉效果

  • 一般用于设置盒子的背景

  • background-image:linear-gradient(
    颜色1,
    颜色2
    );
    
    background-image:linear-gradient(
    transparent,
    rgba(0,0,0,0.6)
    );
    

3D

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

位移

  • 语法:transform:translate3d(x,y,z);
    • transform:translateX(值);
    • transform:translateY(值);
    • transform:translateZ(值);
  • 取值
    • 正负均可
    • 像素单位数值
    • 百分比

透视

z 轴移动看不出来效果,使用perspective属性实现透视效果,可以看到z轴移动效果,近大远小的效果

  • 属性添加给父级
  • perspective:值
  • 取值:像素单位数值,数值一般在 800~1200

旋转

  • transform:rotateZ(值) 绕Z轴旋转

  • transform:rotateX(值) 绕X轴旋转

  • transform:rotateY(值) 绕Y轴旋转

  • 取值:正负均可,单位 deg

  • 左手法则:左手握住旋转轴,大拇指指向轴正值方向,四指弯曲方向为旋转正值

  • transform:rotate3d(x,y,z,角度):用来设置自定义旋转轴的位置及旋转角度,z、y、z取值0~1之间的数字

立体呈现

  • 父级添加属性transform-style:preserve-3d;
  • 使子元素处于真正的3d空间,按需设置子元素盒子的位移或旋转
  • 旋转父级,会使3d空间旋转

缩放

  • transform:scale3d(x,y,z)
  • transform:scaleX(倍数)
  • transform:scaleY(倍数)
  • transform:scaleZ(倍数)

CSS3动画

animation添加动画效果,实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)

  • animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态;
    • 动画名称、动画时长 必须赋值
    • 取值不分先后顺序
    • 如果有2个时间值,第一个表示动画时长,第二个表示延迟时间
  • animation: 动画1,动画2…; 多个动画
/*定义动画*/
@keyframes 动画名称{
    from {}
    to {}
}

/*百分比:指的是在总时长中的占比*/
@keyframes 动画名称{
    0% {}
    10% {}
    100% {}
}

/*使用动画*/
animation: 动画名称 动画时长;



.box{
    width:200px;
    height:100px;
    animation:change 1s;
}

@keyframs change{
    0%{
        width:200px;
    }
    50%{
        width:500px;
        height:300px;
    }
    100%{
        width:800px;
        height:800px;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2089877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用pytest的 reporting特性来生成报告

特性 1.HTML 报告:使用 pytest-html 插件,你可以生成 HTML 格式的测试报告。只需在项目的 pytest.ini 文件中添加以下内容: [pytest] addopts --htmlreport.html然后,在运行 pytest 时,将会生成一个名为 report.htm…

Serilog文档翻译系列(二) - 设置AspNetCore应用程序

Serilog 日志记录适用于 ASP.NET Core。此包将 ASP.NET Core 的日志消息通过 Serilog 进行路由,使你可以将有关 ASP.NET 内部操作的信息写入与应用程序事件相同的 Serilog 接收器中。 安装并配置了 Serilog.AspNetCore 后,你可以直接通过 Serilog 或ASP…

CDS Association

CDS view Association 引入的缘由 CDS 视图不会被业务用户直接访问,而是会被 ABAP 程序、Fiori 应用程序或 BI 前端工具使用。假设在 5 个不同的表上使用 JOINS 创建了 CDS 视图,则每次触发此 CDS 视图时都会执行此 JOIN 条件。即使业务用户只查看 2 个…

十分钟弄懂最快的APP自动化工具uiautomator2

相信很多使用appium做过APP自动化的人都深有感触: appium运行慢、时间长uiautomatorviewer定位元素时得关掉appium server在低版本的appium上获取toast需要切换automationName 现在有一款自动化测试工具uiautomator2,它几乎完美的避免了以上的问题。简…

数据结构---循环队列---树的基本概念

目录 一、队列 1.1.队列 1.创建循环队列(顺序结构) 2.判断队满 3.判断队空 4.进队 5.出队 6.销毁 二、树 2.1.树的特点 2.2.基本概念 1.根节点 2.分支节点 3.叶节点 4.层 5.深度 6.高度 7.度 2.3.二叉树 1.特点 2.遍历方式 2.4.满二…

编程要由“手动挡”变“自动挡”了?Cursor+Claude-3.5-Sonnet,Karpathy大神点赞的AI代码神器!如何使用详细教程

Cursor情况简介 AI大神Andrej Karpathy都被震惊了!他最近在试用 VS Code Cursor Claude Sonnet 3.5,结果发现这玩意儿比GitHub Copilot还好用! Cursor在短短时间内迅速成为程序员群体的顶流神器,其背后的原因在于其默认使用Open…

在postman中使用javascript脚本生成sign签名

大多数线上api接口服务都需要提供签名才可以正常访问。虽然带来了安全,单有时为了快速验证接口的某个功能,就不得不编写代码,计算签名然后再请求。那么,使用postman提供的script功能,是否能实现签名计算功能吗&#xf…

HarmonyOS开发实战( Beta5版)滑动白块问题解决最佳实践

当应用程序需要使用列表显示内容时,通常会使用ListLazyForEach组件来实现。但是列表中需要显示耗时加载的内容时,仅依靠ListLazyForEach不足以获得最优的用户体验。例如显示在线网络图片,在弱网以及快速滑动浏览的场景下,由于来不…

哪种无线可视挖耳勺最实用?五大优良黑马机型测评

无线可视挖耳勺是热度特别高的个人清洁工具,不仅能够更加清晰地观察自己耳内的状况,从而更加安全、有效地清洁耳朵,可以发挥多种多样的作用,但也存在品牌繁杂的情况,其中还有一些不专业的产品。在市面上,我…

Win11 本地部署大模型 WebUI + ComfyUI

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 Web 用户界面(WebUI),它被设计用于完全离线操作。该项目最初被称为 Ollama WebUI,后来更名为 Open WebUI。Open WebUI 的主要目的是为本地的大语言模型(LLMs&…

一条执行24s的SQL产生7小时主备延时(案例详解)

前言 在之前的文章《一条执行24s的SQL竟产生7小时数据延时,数据库高可用做了个寂寞》中,我们描述了一个问题现象:一条在主库执行24秒的SQL语句,却导致了主从延时长达7小时。文章发布后,引发了小伙伴的热烈讨论&#x…

zabbix安装过程中仓库不可用问题解决

官网文档安装zabbix-server:Download and install Zabbix 安装zabbix-server过程中碰到如下报错: 导致原因是仓库url被qiang,创建如下仓库: 仓库文件: [centos-sclo-rh] nameCentOS-7 - SCLo rh baseurlhttps://mirr…

6 款 AI 视频全自动国产剪辑软件推荐

这两年刷抖音、B站,你是不是也常看到AI做的视频火得一塌糊涂,流量爆棚,还帮作者赚了钱?那没学过剪辑的你,想不想零成本、零门槛,也用AI软件赚点外快呢?告诉你,绝对行得通!现在AI技术牛了,网上…

顺序表

目录 1. 数据结构 2. 顺序表 1)线性表 2)顺序表分类 3、动态顺序表的实现 1. 数据结构 数据:常见的数值1、2、3、4.....、教务系统里保存的用户信息(姓名、性别、年龄、学历等 等)、网页里肉眼可以看到的信息&…

ARM体系结构及接口技术(四)LED灯实验---Makefile文件解析

文章目录 一、汇编版本二、C语言版本(一)Makefile文件1. .elf文件2. .map文件3. wildcard函数4. patsubst函数 (二)map.lds(三)start.S 一、汇编版本 # 工程名对应的变量 NAMEasm-led# 交叉编译器的前缀的…

十、软件工程基础知识(考点篇)试题

降低需求变更成本,第一想到的就是原型法,后面对于已完成开发工作的的反馈意见,已完成开发工作只有增量式的吧,先开发核心的,然后发布一版,得到用户反馈再修改并开发次核心。快速原型强调的是,先…

BP神经网络学习内容分享:数据降维

在数据分析和机器学习的领域中,数据降维是一项非常重要的技术。它旨在减少数据集中的特征数量,同时尽可能保留原始数据的重要信息。这不仅有助于减少计算复杂度和提高算法效率,还能有效避免过拟合,提升模型的泛化能力。本文将简要…

数学建模--皮尔逊相关系数、斯皮尔曼相关系数

目录 1.总体的皮尔逊相关系数 2.样本的皮尔逊相关系数 3.对于皮尔逊相关系数的认识 4.描述性统计以及corr函数 ​编辑 5.数据导入实际操作 6.引入假设性检验 6.1简单认识 6.2具体步骤 7.p值判断法 8.检验正态分布 8.1jb检验 8.2威尔克检验:针对于p值进行…

【单片机原理及应用】实验:数字秒表显示器

目录 一、实验目的 二、实验内容 三、实验步骤 四、记录与处理 五、思考 六、成果文件提取链接 一、实验目的 熟悉中断和定时/计数器工作原理,掌握定时器的C51编程与调试方法。 二、实验内容 【参照图表】 图A.6 (1)创建一个包含80C51固…

【OWOD论文】开放世界中OD代码_2_模型部分

简介 本文记录OWOD代码中的模型代码部分。数据部分可看我上一个博客【【OWOD论文】开放世界中OD代码_1_数据部分-CSDN博客】 模型代码 1 起步 在代码中找到 detectron2\engine\defaults.py DefaultTrainer类 __init__方法 根据上述 build_model 回溯到 detectron2\modeling\…