CSS3中的transform变形

863 篇文章 5 订阅
订阅专栏

 在CSS3中,用Transform功能可以实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形,这四种变形分别使用rotate、scale、skew和translate这四种方法来实现。将这四种变形结合使用,就会产生不同的效果,使用顺序不同,产生的效果是不一样的。

  目前浏览器支持情况:Safari 3.1+、 Chrome 8+、Firefox 4+、Opera 10+、IE9+

  一、旋转:

  CSS中使用rotate方法来实现对元素的旋转,在参数中加入角度值,旋转方式为顺时针旋转。

  例一:一个黄色的div元素,通过在样式代码中使用“transform: rotate(45deg)”,语句使这个div元素顺时针旋转45度。deg是CSS3的“Values and Units”模块中定义的一个角度单位。

  代码清单1:

运行结果(Chrome 14):

  二、缩放:

  scale方法实现文字或图像的缩放效果,参数中指定缩放倍率,例如:“scale(0.5)”表示缩小50%,参数可以是整数,也可以是小数。

  例二:将一个div元素缩小50%

  代码清单2:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Transform缩放</title>
<style>
div
{
width
: 300px;
margin
: 150px auto;
background-color
: yellow;
text-align
: center;
-webkit-transform
: scale(0.5); /* for Chrome || Safari */
-moz-transform
: scale(0.5); /* for Firefox */
-ms-transform
: scale(0.5); /* for IE */
-o-transform
: scale(0.5); /* for Opera */
}
</style>
</head>
<body>
<div>黄色div</div>
</body>
</html>
复制代码

运行结果(Chrome 14):

  三、倾斜:

  使用skew方法来实现文字或图像的倾斜效果,在参数中分别指定水平方向上的倾斜角度与垂直方向上的倾斜角度。例如“skew(30deg, 30deg)”表示水平方向上倾斜30度,垂直方向上也倾斜30度,

  例三:将一个div元素在水平方向上倾斜30度,垂直方向上倾斜30度。

  代码清单3:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Transform倾斜</title>
<style>
div
{
width
: 300px;
margin
: 150px auto;
background-color
: yellow;
text-align
: center;
-webkit-transform
: skew(30deg, 30deg); /* for Chrome || Safari */
-moz-transform
: skew(30deg, 30deg); /* for Firefox */
-ms-transform
: skew(30deg, 30deg); /* for IE */
-o-transform
: skew(30deg, 30deg); /* for Opera */
}
</style>
</head>
<body>
<div>黄色div</div>
</body>
</html>
复制代码

运行结果(Chrome 14):

注意:skew方法中的两个参数可以修改成只使用一个参数,省略另一个参数,这可不是说水平方向和垂直方向一样,这种情况视为只在水平方向倾斜,垂直方向上不倾斜。

看一下运行结果:

  四、移动:

  使用translate方法来实现将文字或图像进行移动,在参数中分别指定水平方向上的移动距离与垂直方向上的移动距离。例如“translate(50px, 50px)”表示水平方向上移动50个像素,垂直方向上移动50个像素。

  例四:将一个div元素水平方向上移动50个像素,垂直方向上移动50个像素。

  代码清单4:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Transform移动</title>
<style>
div
{
width
: 300px;
margin
: 150px auto;
background-color
: yellow;
text-align
: center;
-webkit-transform
: translate(50px, 50px); /* for Chrome || Safari */
-moz-transform
: translate(50px, 50px); /* for Firefox */
-ms-transform
: translate(50px, 50px); /* for IE */
-o-transform
: translate(50px, 50px); /* for Opera */
}
</style>
</head>
<body>
<div>黄色div</div>
</body>
</html>
复制代码

运行结果(Firefox 7):

注意:translate方法中的两个参数也可以修改成只使用一个参数,跟skew方法类似,省略另一个参数,这种情况视为只在水平方向移动,垂直方向上不移动。

运行结果(Firefox 7):

  对一个元素使用多种变形的方法:

  例五:对一个div元素,先移动(向右移动150px,向下移动200px),然后旋转(顺时针旋转45度),最后缩放(放大1.5倍)。

  代码清单5:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Transform多重变形(先移动,然后旋转,最后缩放)</title>
<style>
div
{
width
: 300px;
margin
: 150px auto;
background-color
: yellow;
text-align
: center;
-webkit-transform
: translate(150px, 200px) rotate(45deg) scale(1.5); /* for Chrome || Safari */
-moz-transform
: translate(150px, 200px) rotate(45deg) scale(1.5); /* for Firefox */
-ms-transform
: translate(150px, 200px) rotate(45deg) scale(1.5); /* for IE */
-o-transform
: translate(150px, 200px) rotate(45deg) scale(1.5); /* for Opera */
}
</style>
</head>
<body>
<div>黄色div</div>
</body>
</html>
复制代码

运行结果(Chrome 14):

  下面把上面代码中几个变形方法的顺序调整一下,旋转(顺时针旋转45度),然后缩放(放大1.5倍)移动(向右移动150px,向下移动200px), 看看结果怎样:

  代码清单6:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Transform多重变形(先旋转,然后缩放,最后移动)</title>
<style>
div
{
width
: 300px;
margin
: 150px auto;
background-color
: yellow;
text-align
: center;
-webkit-transform
: rotate(45deg) scale(1.5) translate(150px, 200px); /* for Chrome || Safari */
-moz-transform
: rotate(45deg) scale(1.5) translate(150px, 200px); /* for Firefox */
-ms-transform
: rotate(45deg) scale(1.5) translate(150px, 200px); /* for IE */
-o-transform
: rotate(45deg) scale(1.5) translate(150px, 200px); /* for Opera */
}
</style>
</head>
<body>
<div>黄色div</div>
</body>
</html>
复制代码

运行结果(Chrome 14):

  通过上面两个示例可以看出,元素在两个页面上所处位置并不相同,为什么会这样呢?

先看第一个例子:首先向右移动150px,向下移动200px,元素的中心点在水平方向先移动150px,再在垂直方向向下移动200px,然后在旋转45度,放大1.5倍。

第二个例子:首先旋转45度,并且放大了1.5倍,这时候元素是倾斜了45度角的,在移动的话,元素就是按45度角的方向向右移动150px,向下移动200px是沿着与水平方向呈225度方向移动的。看下下面的示意图就很明显了:

怎么样,很容易看明白吧。

  指定变形的基准点:

  使用transform方法进行文字或图像变形的时候,是以元素的中心点为基准点进行的。使用transform-origin属性,可以改变变形的基准点。

  例六:两个div元素,首先不改变变形的基准点,将第二个div元素进行旋转。

  代码清单7:

复制代码
 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Transform指定基准点变形</title>
6 <style>
7 div {
8 width: 200px;
9 height: 200px;
10 display: inline-block;
11 line-height: 200px;
12 text-align: center;
13 }
14 div.a {
15 background-color: yellow;
16 }
17 div.b {
18 background-color: green;
19 -webkit-transform: rotate(45deg); /* for Chrome || Safari */
20 -moz-transform: rotate(45deg); /* for Firefox */
21 -ms-transform: rotate(45deg);       /* for IE */
22 -o-transform: rotate(45deg); /* for Opera */
23 }
24 </style>
25 </head>
26 <body>
27 <div class="a">黄色div</div>
28 <div class="b">绿色div</div>
29 </body>
30 </html>
复制代码

运行结果(Chrome 14):

下面使用transform-origin属性把变形的基准点修改为第二个元素的左下角,代码如下:

代码清单8:

复制代码
 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>Transform指定基准点变形</title>
6 <style>
7 div {
8 width: 200px;
9 height: 200px;
10 display: inline-block;
11 line-height: 200px;
12 text-align: center;
13 }
14 div.a {
15 background-color: yellow;
16 }
17 div.b {
18 background-color: green;
19 -webkit-transform: rotate(45deg); /* for Chrome || Safari */
20 -moz-transform: rotate(45deg); /* for Firefox */
21 -ms-transform: rotate(45deg); /* for IE */
22 -o-transform: rotate(45deg); /* for Opera */
23 /* 修改变形基准点 */
24 -webkit-transform-origin: left bottom; /* for Chrome || Safari */
25 -moz-transform-origin: left bottom; /* for Firefox */
26 -ms-transform-origin: left bottom; /* for IE */
27 -o-transform-origin: left bottom; /* for Opera */
28 }
29 </style>
30 </head>
31 <body>
32 <div class="a">黄色div</div>
33 <div class="b">绿色div</div>
34 </body>
35 </html>
复制代码

运行结果(Chrome 14):

  指定transform-origin属性值的时候,采用“基准点在元素水平方向上的位置,基准点在元素垂直方向上的位置”的方法,其中“基准点在元素水平方向上的位置”中可以指定的值为leftcenterright,“基准点在垂直方向上的位置”中可以指定的值为topcenterbottom



在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理,下面将详细讲解transform的使用。

transform的功能分类

1.旋转

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

transform:rotate(45deg);

该语句使div元素顺时针旋转45度。deg是CSS 3的“Values and Units”模块中定义的一个角度单位。

2.缩放

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

transform:scale(0.8,1);

使用缩放的方法实现文字或图像的缩放效果,在参数中指定缩放倍率。该语句使用scale方法使该元素在水平方向上缩小了20%,垂直方向上不缩放。

3.倾斜

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

transform:skew(30deg,0deg);

该实例通过skew方法把元素水平方向上倾斜30度,处置方向保持不变。

4.移动

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

translate(50px,50px);

使用translate方法来将文字或图像在水平方向和垂直方向上分别垂直移动50像素。

指定变形的基准点

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

在使用transform方法进行文字或图像的变形时,是以元素的中心点为基准点进行的。使用transform-orign属性,可以改变变形的基准点。

transorm-origin:left bottom;

left和bottom是基准点在元素水平方向和垂直方向上的位置。

对一个元素使用多种变形方法

CSS3中的变形处理(transform)属性,PS教程,思缘教程网

transform:rotate(45deg) scale(1.5) translate(50px,0px);

该综合实例中对文字或图像先旋转45度,再缩放1.5倍,最后在水平方向移动150像素,在垂直方向移动200像素。

目前transform属性在WebKit引擎的Web浏览器上需要添加“-webkit-”前缀,在Fifefox浏览器需要添加“-moz-”前缀,Opera浏览器上需要需要添加“-o-”前缀


CSS3+Transform
01-19
实现针对于Webkit(Google Chrome,Safari)、Moz(Firefox)以及Opera浏览器的一些变换效果,包括旋转、倾斜、缩放、位移效果。
CSS3变形处理——transform功能(旋转、缩放、倾斜、移动)
热门推荐
xuan的博客
08-23 2万+
1 transform属性 在CSS3,可以利用transform功能实现文字或图像的旋转、缩放、倾斜、移动这4类型的变形处理。 (1)浏览器支持 到目前为止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上浏览器支持该属性。  2 旋转 使用rotate方法,在参数加入角值,角值后面跟表示角单位的“deg”文字即可,旋转方向为顺时针方向。...
Css属性transform详解(变形旋转、缩放)
最新发布
m0_64227118的博客
07-26 441
1.变形就是指通过css来改变元素的形状或位置 2.变形不会影响到页面的布局(不会脱离文档流) 3.平移元素,百分比是相对于自身计算的1.通过旋转可以使用元素沿着x y 或 z旋转指定的角(transform)
CSS3transform
weixin_45576567的博客
12-19 467
文章目录transformtransform-origin 基点rotate 旋转scale 缩放translate 移动skew 扭曲transitiontransition-propertytransition-durationtransition-timing-function贝塞尔曲线transition2D Transform Functions属性表3D Transform Funct...
CSS3——transform
weixin_68160847的博客
01-12 122
1、 转换是css3的一个特征,可以实现元素的缩放,位移,变形。 2、 作用:使元素在位置或者形状上发生一定的改变。 3、属性:transform 4、属性值:scale:缩放(一般),translate 位移(重点),rotate 旋转(重点),skew 倾斜(了解)
css3 transform文字变形3D阴影效果代码
11-05
CSS3,我们可以将`transform`应用于任何内联或块级元素,包括文字。它通过设置如`rotate()`, `scale()`, `translate()`和`skew()`等函数来实现变换。例如,要将一个元素向右平移50像素,可以这样写: ```css ....
CSS3设置3D变形transform-style属性详解
12-13
transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间呈现。他主要有两个属性值:flat和preserve-3d。 transform-style属性的使用语法非常简单: CSS Code复制内容到剪贴板 transform-style: ...
transform变形
qq_43494108的博客
08-04 1301
transform变形函数笔记 transform变形函数一共有四种:分别是translate() rotate() skew() scale() translate():是平移函数平移的方式X轴和Y轴。例如:translate(20px,30px) 第一个参数是X轴,第二个参数是Y轴,当然也可以只往一个方向平移:比如translateX(20px) 这样就是X轴上平移20px,translat...
transform-变形
uniquehzx的博客
09-06 359
移动translate translateX 在x轴上面位移或者变形,大写X translateY 在x轴上面位移或者变形,大写Y translate(x,y) 在x轴和Y轴位移或者变形,当我们只设置一个值的时候,只有x轴生效 缩放scale scaleX 设置元素在X轴方向缩放比例 scaleY 设置元素在Y轴方向缩放比例 scale(x,y) 设置元素在x,y轴方向缩放比例,可以设置一
关于CSS3属性transform详解
xiaoweids的博客
07-01 678
转自:微点阅读 https://www.weidianyuedu.com在CSS3,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理,本文将对此做详细介绍。 一.旋转 rotate 用法:transform: rotate(45deg); 共一个参数“角”,单位deg为的意思,正数为顺时针旋转,负数为逆时针旋转,上述代码作用是顺时针旋转45。 二.缩放 scale 用法:transform: scale(0.5) 或者 transform:
CSS3学习笔记(十二)——transform
Bambi12的博客
12-04 568
1、旋转rotate() 设置一个角值,用来指定旋转的幅。如果这个值为正值,元素相对原点心顺时针旋转;如果这个值为负值,元素相对原点心逆时针旋转 2、扭曲skew() 它可以将一个对象以其心位置围绕着X轴和Y轴按照一定的角倾斜。 这与rotate()函数的旋转不同,rotate()函数只是旋转,而不会改变元素的形状。skew()函数不会旋转,而只会改变元素的形状。 3、缩放s...
实训学到的HTML基础知识(4)
yyyyyang525的博客
06-04 337
实训已经过去一周了,这是实训的第五天,正式上课的第四天,前面三天已经学习了HTML的基本主体标签知识和CSS样式表,今天学习了CSS样式表里的trans是学习新的知识:JS(JavaSc
css3 transform变形
qq_44216701的博客
04-26 857
Transform字面上就是变形,改变的意思。在CSS3transform主要包括以下几种:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。初学者理解可能不到位。 none:表示不进么变换;表示一个或多个变换函数,以空格分开;换句话说就是我们同时对一个元素进行transform的多种属性操作,例如rotate、scale、translate三种,但...
CSS3,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理...
weixin_30535913的博客
06-25 249
CSS3变形处理(transform)属 transform的功能分类 1.旋转 transform:rotate(45deg); 该语句使div元素顺时针旋转45。deg是CSS 3的“Values and Units”模块定义的一个角单位。 2.缩放 transform:scale(0.8,1); 使用缩放的方法实现文字或图像的缩放效果,在参数指定...
CSS3变形技巧:transform属性深解析
"浅谈CSS3变形功能-transform功能" 在CSS3变形transform)功能是一个强大的工具,它允许开发者对元素进行二维或三维空间内的各种变换操作,包括旋转、缩放、倾斜和移动。这个特性极大地提升了网页设计的...
写文章

热门文章

  • 汇编 shl和shr指令的使用 86960
  • MAC打开EXE文件的三大方法 86894
  • html代码制作的个人简历 72440
  • 汇编 - ORG指令详解 67484
  • HTML 个人简历源码 46956

分类专栏

  • java 数据结构源码实践 31篇
  • 编码风格实践源码 2篇
  • 捉虫记 14篇
  • UML建模实践 14篇
  • 算法 145篇
  • 高级计算与工程 104篇
  • 高级数学 1篇
  • 云计算 89篇
  • 多核并行编程 1篇
  • ACM报告 68篇
  • ---- 线性动规 1篇
  • ----区域动规 6篇
  • ----树形动规 4篇
  • ----背包动规 8篇
  • ----状态动规 1篇
  • ----双连通与强连通 4篇
  • ----搜索遍历 15篇
  • ----模拟题 2篇
  • ----暴力
  • ----字符串 2篇
  • ----计算几何 4篇
  • ----贪心
  • ----回溯 2篇
  • ----STL 1篇
  • ----图论 25篇
  • ----高级数据结构 29篇
  • ----数论 3篇
  • ----排列组合
  • ----排序查找 2篇
  • ----大数高精度 3篇
  • ----递归分治 11篇
  • ----博弈 1篇
  • ----数学 6篇
  • ----递推 3篇
  • ----树 2篇
  • 分层与MVC实践 57篇
  • SQL 46篇
  • 源码分析 108篇
  • 自己动手写 117篇
  • js与前端 863篇
  • 智能 3篇
  • SSH 117篇
  • android 38篇
  • PHP 12篇
  • python 4篇
  • 设计模式
  • 数据库设计 4篇

最新评论

  • 特权级——保护模式的特权级检查 DPL,RPL,CPL, 一致代码段,非一致代码段

    OscarBot: 感觉AI翻译的,阅读起来有点不顺

  • 磁头号和起始扇区的计算方法------软盘结构

    weixin_46337158: 谢兄弟,琢磨半天没琢磨明白

  • Targan 算法[有向图强连通分量]

    m0_67787124: 在举例中,继续回到节点1,最后访问节点2。访问边(2,4),4还在栈中,所以LOW[2]好像应该=LOW[4]=1

  • 自己归纳整理的ARM THUMB指令机器码表

    jiarong0101: 总结的非常好!感谢!!

  • 汇编 - ORG指令详解

    yc550370460: 汇编语言源程序中若没有ORG伪指令,则程序执行时,指令代码被放到自由内存空间的CS:0处;若有ORG伪指令,编译器则把其后的指令代码放到ORG伪指令指定的偏移地址。 这句话是错的

大家在看

  • transformer对位置编码的理解 267
  • Linux:进程状态和优先级 2389
  • MyBatis的配置文件详解 1100
  • 【精品毕设推荐】基于SSM+jsp的学生公寓管理中心系统设计与实现 754

最新文章

  • asp.net学习之DataList控件
  • asp.net学习之Repeater控件
  • ASP.NET-----Repeater数据控件的用法总结
2016年722篇
2015年1169篇
2014年358篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家上海卡通玻璃钢雕塑上海商场节庆美陈雕塑湖里园林玻璃钢雕塑厂家玻璃钢牧童雕塑玻璃钢雕塑专业的有哪些天河玻璃钢花盆花器天壶玻璃钢雕塑视频上海哪里有卖玻璃钢花盆商场美陈有什么南宁景区玻璃钢雕塑厂家万达广场吾悦广场商场美陈布置陕西玻璃钢人像雕塑公司福建景区玻璃钢雕塑设计四川特色商场美陈销售企业衡水动物玻璃钢雕塑南京玻璃钢雕塑定做公司广东中庭商场美陈厂家直销宣城玻璃钢雕塑哪家好宁夏彩色玻璃钢雕塑定做娄底玻璃钢大白菜雕塑松北玻璃钢雕塑厂福建常见商场美陈价格邯郸玻璃钢浮雕镂空雕塑公司湖南玻璃钢雕塑仿真牛手糊法玻璃钢雕塑报价玻璃钢雕塑厂现状河南玻璃钢艺术雕塑厂家哪家好安徽玻璃钢雕塑多少钱一平米河南水景玻璃钢卡通雕塑设计龙岩城市玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化