1. 2D转换方法

在2D转换方法中,存在对元素进行旋转、缩放、拉伸、移动的属性效果。此处主要讲解transform属性中的旋转和缩放、位移效果。

1.1 旋转rotate()

通过下述代码的设置可以的达到旋转的效果,deg是旋转角度,正值为顺时针,负值为逆时针旋转。

transform:rotate(XX deg);
transform:rotate(-10 deg);      //逆时针旋转10度

示例代码:

<!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>CSS3中的2D变换</title><style>* {padding: 0;margin: 0;}div {width: 100px;height: 75px;border: 2px solid #ccc;margin: 0px auto;}#rotateDiv {transform: rotate(30deg);}#rotateDiv2 {transform: rotate(-30deg);}</style>
</head>
<body><div></div><div id="rotateDiv"></div><div id="rotateDiv2"></div>
</body>
</html>

示例效果:

注意:此处的旋转是以图形的中心点为参照进行旋转的,而不是div区域的左上角!

1.2 缩放scale()

定义解释:
scale(x,y):只含有一个参数时,第二个参数默认和第一个参数一样。
即scale(x)代表scale(x , x)

示例效果:

1.3 移动translate()

(1)定义
translate位移:位置移动。从当前元素的位置处,移动到指定坐标轴位置处。

(2)使用方法
其中取值为数值或者百分比,x代表左右移动,y代表上下移动。

translate(x,y)
translate(value);

(3)单方向位移

translateX(x)
translateY(y)

2. 过渡与动画

2.1 过渡transition

(1)定义
  过渡是元素中的某个属性或者多个属性发生状态的变化,指从一个状态变化到另一个状态。

  过渡效果的产生是基于属性的变化,存在变化的属性(例如值发生改变、增加或者删减了某些样式)才会显示出过渡效果。而整个过渡过程则是从属性变化前的效果到属性变化后的效果的一个过程。

(2)transition属性
  过渡使用方法的默认值是ease,实际上有时候transition只设置前两个值而第三个值置空(即是ease的效果)。


(3)案例
  transition属性第一个值设置为all,代表所有的属性只要发生了变化则会存在transition过渡效果。如果只需要设置几个属性的过渡效果,只需要第一个值写上属性名用逗号隔开即可。

2.2 动画animation

(1)定义
  动画效果是指元素属性发生状态的变化,但是这个变化过程中存在多个过渡效果(即起点状态到终点状态之间还存在多个其他状态),因此显现为动画效果。这些状态我们称之为关键帧keyframe。

(2)animation属性

(3)案例
  定义的关键帧需要有个名称,例如下面定义为了mycolor。关键帧keyframe中的百分号是状态的名字,状态名都用百分号来定义,而大括号中的属性代表当前状态的属性值。0%和100%分别代表变化的始末状态。

  下面示例的效果是:将鼠标悬浮在div区域上后,对应的div背景会经历四个状态的颜色变化,最终完成红色到绿色的变化显示。

3. 3D变换

(1)定义
  3D变换相比于2D变换在坐标系上多了一个纬度,变成了XYZ三维坐标系,因此我们在设置transform属性前,需要将transform-style设置为preserve-3d,代表是进行3D的效果变化。


(2)使用方法
  其中透视会产生一个近大远小的效果,可根据实际需要来决定是否需要设置透视效果perspective。

(3)案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>3D</title><style>#stage {  /*舞台*/width: 300px;margin: 100px auto;perspective: 200px;}.box {        /*父容器*/width: 100px;height: 100px;float: left;transition: all 1s linear;transform-style: preserve-3d;}img {width: 100px;height: 75px;}.x:hover {transform: rotateX(360deg);}.y:hover {transform: rotateY(60deg);}.z:hover {transform: rotateZ(60deg);}</style></head><body><div id="stage"><div class="box x"><img src="frog.png" /></div><div class="box y"><img src="frog.png" /></div><div class="box z"><img src="frog.png" /></div></div>
</body></html>


  上面的三幅图片分别实现了绕X、Y、Z轴的旋转,鼠标悬浮在某副图片上时便会进行旋转,并且加上了透视属性,显示出了近大远小的视觉效果。

CSS3的2D、3D变换、过度与动画效果相关推荐

  1. CSS3中的3D变换与简易立方体的制作

    大家好,这里是demo软件园,今天为大家分享的是css3中的3d变换. 我们首先要知道在浏览器中,X轴是从左到右,Y轴是从上到下,Z轴是从里到外.CSS的3d变换中,有以下属性: A.3D旋转: CS ...

  2. HTML+CSS css3电子杂志画册3D翻页切换动画特效

    style.css文件: @import url("https://fonts.googleapis.com/css?family=Sree+Krushnadevaraya&disp ...

  3. CSS3 2 2D 3D转换

    CSS3 2 2D 3D转换 通过 CSS3 转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. 转换是使元素改变形状.尺寸和位置的一种效果,使用 2D或 3D 转换来转换元素. 1浏览器支持 I ...

  4. css3+jQuery制作导航菜单(带动画效果)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>css ...

  5. CSS3实现loading(加载)动画效果

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  6. html中购物车小球飞入的效果,vue项目中css3实现加入购物车小球抛物线飞入动画效果...

    学习Vue中在做移动端商城练习项目时,记录css3实现加入购物车抛物线小球飞入动画效果.下面会介绍我在项目中实现抛物运动的简单方法. 知识点:css3动画(抛物线运动).vue动态绑定事件(控制小球出 ...

  7. 用html浮雕效果图,纯CSS3炫酷3D浮雕质感文字动画特效

    这是一款效果非常酷的纯CSS3 3D浮雕质感文字动画特效.该特效中文字被制作为浮雕文字,就像是从一块石板上将文字雕刻下来的一样.而且文字还会来回的摆动旋转,效果非常好. 制作方法 HTML结构 该CS ...

  8. CSS3 transition实现超酷图片墙动画效果

    一.前面的感慨 以前也陆陆续续试过CSS3的一些特性,文字投影,多边框等.但都是试试而已,知道有这么回事.今天,见到了一个新玩意,transition,认认真真的试了一下,经过,我懵了,我呆了,我傻了 ...

  9. CSS3背景颜色变化、平移的动画效果

    CSS3动画:变换颜色和平移 开发工具与关键技术:DW-CSS3动画+关键帧 作者:徐晶旗 撰写时间:2019年1月18日 1.首先我在html中建立一个div标签,加上一个class的类,给它的类命 ...

最新文章

  1. Silverlight 2中多语言支持实现(上)
  2. D - Sand Fortress CodeForces - 985D
  3. html页面布局名称,HTML页面模块的常用命名
  4. HDU 4888 Redraw Beautiful Drawings(网络流求矩阵的解)
  5. js实现禁止右键 禁止f12 查看源代码
  6. linux系统怎么用wifi,【教程】Wii安装运行可用WIFI的Linux系统全攻略
  7. 2021-01-07 matlab数值分析  插值法 拉格朗日插值法 牛顿插值法
  8. android 等待按钮框架,Android 开发 MaterialDialog框架的详解
  9. MQ的引言|不同MQ的特点|RabbitMQ安装
  10. 用软件测试管理效率,软件测试攻略(一):效率工具分享
  11. python3.7 安装cx_Freeze
  12. VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决
  13. 软件开发工具--自考2018年10月程序填空
  14. String.Format用法
  15. 腾讯同事要跳槽,问我背包问题具体咋回事,我直接甩给他这篇!
  16. 用css制作网站首页
  17. 为什么没有黑客攻击棋牌游戏
  18. 想要感受三星S8屏幕的震撼 先过APP适配这道坎
  19. 《如何搭建小微企业风控模型》第三节 风控模型概览
  20. ncnn报无法将参数 1 从“std::string”转换为“const ncnn::DataReader

热门文章

  1. AutoCAD VBA 通过选择集 删除图层上所有对象和图层
  2. 顺序队列,链队列的基本操作
  3. 深度学习入门 (九):卷积层和池化层的实现
  4. Qt 之 HTTP 请求 多线程分块下载——上(获取下载文件大小)
  5. windows powershell实战指南(第3版)_Windows命令行工具cmder配置(转)
  6. 肝了一晚上搞出来一个微信订阅号鉴黄机器人
  7. EasyExcel导出Excel表格到浏览器,并通过Postman测试导出Excel【入门案例】
  8. 锐捷睿易:扩大DHCP掩码导致AP不上线问题
  9. 我的 Typora IDEA 雅黑主题
  10. 前端重要信息手机号、邮箱、身份证号进行脱敏处理