CSS3 2D变形 过渡 动画

​​​​​

  • transform(2D变形)

  • 概述translate()平移scale()缩放

  • skew()倾斜

  • rotate()旋转

  • transform-origin中心原点

  • CSS3 2D变形 3D变形 过渡 动画

    在CSS3中,动画效果包括4个部分:变形(transform)、3D变形、过渡(transition)、动画(animation)。

    translate() 平移
    语法

    transform: translateX(x);    /沿x轴方向平移/
    transform: translateY(y);    /沿y轴方向平移/
    transform: translate(x, y);   /沿x轴和y轴同时平移/

示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

div {

width: 150px;

height: 100px;

}

.box {

border: 1px dashed silver;

}

.current {

background-color: rgb(30, 170, 250);

opacity: 0.5;

transform: translate(20px, 20px);

}

</style>

</head>

<body>

<div class="box">

<div class="current"></div>

</div>

</body>

</html>

复制代码
scale() 缩放
语法

transform: scaleX(x);    /*沿x轴方向缩放*/
transform: scaleY(y);    /*沿y轴方向缩放*/
transform: scale(x, y);   /*沿x轴和y轴同时缩放*/

示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

div {

width: 150px;

height: 100px;

}

.box {

border: 1px dashed silver;

margin: 50px auto;

}

.current {

background-color: rgb(30, 170, 250);

opacity: 0.5;

transform: scale(1.2, 1.5);

}

</style>

</head>

<body>

<div class="box">

<div class="current"></div>

</div>

</body>

</html>

复制代码
skew() 倾斜
语法

transform: skewX(x);    /*沿x轴方向倾斜*/
transform: skewY(y);    /*沿y轴方向倾斜*/
transform: skew(x, y);   /*沿x轴和y轴同时倾斜*/

示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

div {

width: 150px;

height: 100px;

}

.box {

border: 1px dashed silver;

margin: 50px auto;

}

.current {

background-color: rgb(30, 170, 250);

opacity: 0.5;

transform: skewY(30deg);

}

</style>

</head>

<body>

<div class="box">

<div class="current"></div>

</div>

</body>

</html>

复制代码
​
rotate() 旋转
语法

transform: rotate(angle);

说明

angle参数:表示元素相对于中心原点旋转的度数,单位为deg。如果度数为正,则表示顺时针旋转;如果度数为负,则表示逆时针旋转。

​

示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

div {

width: 150px;

height: 100px;

}

.box {

border: 1px dashed silver;

margin: 50px auto;

}

.current {

background-color: rgb(30, 170, 250);

opacity: 0.5;

transform: rotate(30deg);

}

</style>

</head>

<body>

<div class="box">

<div class="current"></div>

</div>

</body>

</html>

复制代码
transform-origin 中心原点
语法

transform-origin: 取值;
1
说明

transform-origin属性取值有两种:一种是"长度值",另一种是"关键字"。

当取值为长度值时,单位可以为px、em和百分比等。

当取值为关键字时,transform-origin属性取值跟background-position属性取值是相似的。

示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

div {

width: 150px;

height: 100px;

}

.box {

border: 1px dashed silver;

margin: 100px auto;

}

.current {

background-color: rgb(30, 170, 250);

opacity: 0.5;

transform-origin: top right;

transform: rotate(-90deg);

}

</style>

</head>

<body>

<div class="box">

<div class="current"></div>

</div>

</body>

</html>

相关推荐
沫璃染墨23 分钟前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
俊昭喜喜里34 分钟前
理解全局跨域CORS配置
前端
锋行天下3 小时前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
jktantan4 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
计算机魔术师4 小时前
Anthropic官方插件被「寄生」,背后是同一类攻击又来了
前端
我命由我123454 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng5 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
LaughingZhu5 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
Lank_M5 小时前
抠图结果缩放后边缘发脏,该怪的不是插值
前端
jerrywus6 小时前
Skill、MCP、Workflow、Rules、Memory 有什么区别?拿几次真实开发任务讲清楚
前端·agent·claude