CSS动画效果——2D | 学习笔记

简介: 快速学习CSS动画效果——2D

开发者学堂课程【前端开发CSS基础:CSS 动画效果——2D 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/361/detail/4268


CSS 动画效果——2D

内容介绍

一、2D、3D 转换介绍

二、使用代码详细讲解

三、浏览器内核

 

一、2D、3D 转换介绍

(1)通过 2D、3D 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。
(2)转换是使元素改变形状、尺寸和位置的一种效果。
(3)可以使用 2D 或 3D 转换来转换元素。  

2D( transform )转换方法:
1)translate( ):移动

2)rotate( ):旋转

3)scale( ):缩放
4)skew( ):倾斜

5)matrix( ) 使用一个6个值的矩阵形式来进行2D转换
3D 转换方法:
1)rotateX (  )

2)rotateY ( )

注意 X 和 Y 一定要大写


二、使用代码详细讲解

打开集成开发环境,创建一个 transform 的 HTML File 文件,现在使用两个 div 进行展示,第一个 div 是初始效果,用作对比。

第二个 div 为变换后的效果,因为对第二个 div 要进行变换,所以增加一个类名

在 <body></body> 中输入

<body>

<div> 这是一个初始效果 </div>

<br/>

<div class= “change”>变换后的效果</div>

</body>

继续给 div 增加一个样式

<title></title>下输入

<style>

div{

width: 100px;

height: 100px;

background-color: deepskyblue;

}

</style>

运行后效果如图

image.png 

1. 使用 translate()方式变换

在样式中增加代码:

.change{

transform:translate(100px,200px);//( )有两个参数,一个为向水平方向偏移的位移,即向x轴偏移,

第二个为向垂直方向的偏移的位移,即向y轴偏移

}

运行结果如图:

image.png

也可以只写一个参数(100px ),运行结果如图,只是向x轴移动了 100px 的距离。当第二个参数不提供时,默认值为 0

2. 使用 rotate()方式变换

先注释掉 translate 方式,修改代码为:

transform:rotate(30deg);//()中只有一个参数,为旋转的角度值

运行结果如图

image.png

3. 使用 scale()方式变换

先注释掉 rotate()的代码,修改代码为:

transform:scale(0.5,0.5);//()中有两个参数,都为倍数

运行结果如图,宽和高都缩小二分之一

image.png

将值改为(2,3),运行结果如图,宽扩大2倍,高扩大3倍  

4. 使用 skew()方式变换

先注释掉 scale()代码,

修改代码为:

transform:skew(50deg,50deg);

//()中有两个参数值,都为角度变换值,第一个是向x轴倾斜的角度,第二个向 y轴倾斜的角度

运行结果如图

image.png 

也可以只写一个参数(50deg),运行结果如图,只是 x 轴倾斜了 50,所以第二个参数不提供时,默认值为 0

5. 使用 rotateX()和 rotateY()方式 3D 变换

注释掉 skew()代码,修改代码为:

transform:rotateX(120deg);

运行结果如图

image.png

再修改代码为transform:rotateY(120deg);

运行结果如图

image.png

 

三、浏览器内核

为了让所有浏览器都可以显示这种效果,在代码前要加上浏览器的内核

内核类型   

写法

Webkit(Chrome/Safari)   

 -webkit-transform

Gecko(Firefox)

 -moz-transform

Presto(Opera) 

-o-transform

Trident(IE)  

-ms-transform

示例:

以 transform:translate(100px) 为例,写入支持所有常见浏览器的内核,

代码如下:

.change{

transform:translate(100px);

webkit-transform:translate(100px);

-moz-transform:translate(100px);

-o-transform:translate(100px);

-ms-transform:translate(100px);

}

相关文章
|
1月前
|
机器学习/深度学习 前端开发 JavaScript
|
26天前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
103 58
|
5天前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
18 1
|
1月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
26 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
2月前
|
前端开发 容器
css布局-弹性布局学习笔记
这篇文章是关于CSS弹性布局的学习笔记,详细介绍了flex容器和元素的相关属性,包括flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content以及order、flex-grow、flex-shrink、flex-basis、flex和align-self等,解释了这些属性在弹性盒子布局中的作用和用法。
|
2月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
46 0
JS配合CSS3实现动画和拖动小星星小Demo
|
1月前
|
前端开发
CSS 动画介绍及语法
CSS 动画介绍及语法
27 0
|
2月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
Web App开发 JavaScript 前端开发

热门文章

最新文章