html中2d变形兼容性,CSS3(3)---2D变形(transform)

CSS3(3)---2D变形(transform)

2D变形是CSS3中具有颠覆性的特征之一,它常用的属性有:移动(translate)、缩放(scale)、旋转(rotate)、倾斜 (skew)。

一、2D变形语法

1、移动 (translate)

移动的属性: translate

translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)

translateX(x)仅水平方向移动(X轴移动)

translateY(Y)仅垂直方向移动(Y轴移动)

比如设置为:

transform: translate(50px,60px); /* 水平向右移动50px 和 垂直向下移动60px*/

运行结果

bf28ef7a30718e1308782f3307d6b1ab.png

说明 从上面运行结果可以看出两点

1、移动的原点默认是 最左角上 的位置。

2、px取正数代表 向右 或者 向下。Px为负值,那就变成向左 或者 向上。

2、缩放 (scale)

缩放的属性: scale

scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)

scaleX(x)元素仅水平方向缩放(X轴缩放)

scaleY(y)元素仅垂直方向缩放(Y轴缩放)

说明 scale默认值为1,设置0.5代表缩小一倍,2代表放大一倍。

比如设置为:

transform: scale(0.5,1); /* 水平缩小0.5倍 和 垂直不变 */

运行结果

991265b6f03ae67dcb6f4e337f3fd08d.png

3、旋转 (rotate)

旋转属性 : rotate (正值为顺时针,负值为逆时针)

比如设置为:

transform: rotate(45deg); /* 注意单位是 deg 度数 */

运行结果

a7001af636dc6c185931ec7256e4e505.png

我们可以看到这里旋转默认是以对角线的位置进行旋转,这里也可以设置以其它位置进行旋转。

调整元素转换变形的原点属性:transform-origin

div {transform-origin: left top;transform: rotate(45deg); } /* 改变元素原点到左上角,然后进行顺时旋转45度 */

/*如果是4个角,可以用 left top这些,如果想要精确的位置, 可以用 px 像素*/

div {transform-origin: 10px 10px;transform: rotate(45deg); } /* 改变元素原点到x 为10 y 为10,然后进行顺时旋转45度 */

4、倾斜 (skew)

旋转属性 : rotate (正值为顺时针,负值为逆时针)

比如设置为:

transform: skew(30deg,0deg); /* 水平方向上倾斜30度,垂直方向保持不变 */

运行结果

dfcd948785581882a5b6b718faf52f11.png

二、示例

1、移动

效果

eadd394328ee3135aa194758b625caf1.gif

代码

过渡

div {

width: 100px;

height: 100px;

background-color: pink;

transition: all 1.2s; /*过渡时间1.2秒*/

}

div:hover {

transform: translate(100px, 50px); /*水平移动100px 垂直移动50px*/

}

2、缩放

效果

3c3782b0bcb9c77b1ea6d3fe67c4221e.gif

代码

缩放

div {

width: 200px;

height: 200px;

background-color: pink;

transition: all 1.2s; /*过渡时间1.2秒*/

}

div:hover {

/*transform: scale(0.8, 1); 0 0% 1 100% 宽度变为了原来的 80% 高度不变*/

/*transform: scale(1, 0.8); 0 0% 1 100% 宽度变为了原来的 80% 高度不变*/

transform: scale(0.5); /* 高度 和 宽度一起缩放 都是 0.5 */

}

3、缩放(新浪图片放大)

效果

f1c812408d5f7b92b705e1071cd18c95.gif

代码

缩放

div {

width: 386px;

height: 260px;

overflow: hidden; /*多余部分隐藏*/

}

div img {

transition: all 0.5s; /*设置过渡时间*/

}

div:hover img {

transform: scale(1.1); /*设置放大1.1倍*/

}

4、旋转 (默认原点旋转)

效果

f0eeecd8417f65a93557ef4be658152a.gif

代码

旋转

div {

width: 150px;

height: 150px;

background-color: pink;

margin: 100px auto;

transition: all 0.8s;

}

div:hover {

transform: rotate(45deg); /* 顺时针旋转45度*/

}

5、旋转 (指定原点旋转)

效果

30e66c49e0466f20de8fa4e83136d5fd.gif

代码

旋转

div {

width: 150px;

height: 150px;

background-color: pink;

margin: 100px auto;

transition: all 1.0s;

transform-origin: right bottom; /*设置 旋转中心点为 右下角*/

}

div:hover {

transform: rotate(90deg); /*旋转90度*/

}

6、倾斜

效果

0bb58fce271106dab2311096638af15e.gif

代码

倾斜

div {

width: 150px;

height: 150px;

margin: 100px auto;

background-color: pink;

transition: all 1.0s

}

div:hover {

transform: skew(30deg); /*倾斜度*/

}

你如果愿意有所作为,就必须有始有终。(17)

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[CSS3(3)---2D变形(transform)]http://www.zyiz.net/tech/detail-98174.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值