css3中如何进行2D和3D的转化


本文摘自PHP中文网,作者清浅,侵删。

本篇文章分享的是有关css3中的2D转换和3D转换,有一定的参考价值,希望对大家有所帮助

通过 转换,我们可以对元素进行移动、缩放、转动、拉长或拉伸,需要注意浏览器的兼容问题,在写程序的时候注意要写清楚

Chrome 和 Safari 需要前缀 -webkit-,Internet Explorer 9 需要前缀 -ms-

Internet Explorer 10 和 Firefox 支持 3D 转换但是Opera 仍然不支持 3D 转换

推荐课程【css3】

2D转换

translate()表示从其当前位置移动到设定的值,设定left值和top值

1

translate(100px,30px)//从左侧移动100px,从上往下移30px

rotate()表示元素顺时针旋转所设定的角度,当为负值时表示元素逆时针旋转

1

rotate(30deg)//顺时针旋转30度

scale()表示元素的尺寸会增加或减少设置宽度(X 轴)和高度(Y 轴)

1

scale(3,4)//把宽度扩大为原来的2倍,把高度变为原来的4倍

skew()表示元素翻转所设定的角度,设定X 轴和Y 轴

1

skew(30deg,20deg)//沿X轴把元素翻转30度,沿Y轴翻转20度

matrix()

matrix() 方法就是一个总的2D方法包含数学函数,旋转,缩放,移动以及倾斜

1

matrix(0.866,0.5,-0.5,0.866,0,0)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

例:

<style>

    /*在chrome浏览器下运行*/

div

{

width:200px;

height: 100px;

text-align: center;

line-height:100px;

background-color: pink;

-webkit-transform:translateX(150px);/*X轴移动150px*/

-webkit-transform:rotate(-50deg);/*按逆时针旋转50度*/

-webkit-transform:skew(20deg,20deg);/*沿X轴,Y轴旋转20度*/

}

</style>

效果图

Image 11.jpg

3D转换

rotateX()表示沿X轴旋转多少度,rotateY() 表示沿Y轴旋转

1

rotateX(30deg)//沿X轴旋转30度

translate3d(x,y,z):3D 转化

translateX(x)适用用于 X 轴的值,translateY(y)适用于Y值,translateZ(z) 适用用于 Z 轴的值

1

translateX(100px)//向左移动100px

scale3d(x,y,z):3D 缩放转换。

scaleX(x) 给定一个 X 轴的值, scaleY(y) 给定一个 Y 轴的值,scaleZ(z) 给定一个 Z 轴的值。

1

2

scaleX(1.5)//沿水平方向扩大1.5倍

scaleX(0.5)//沿水平方向缩小0.5倍

rotate3d(x,y,z,angle) :3D 旋转。

rotateX(angle)沿 X 轴的 3D 旋转, rotateY(angle) 沿 Y 轴的 3D 旋转,rotateZ(angle)沿 Z 轴的 3D 旋转。

1

rotateX(30deg)//沿X轴旋转30度

perspective(n) 定义 3D 转换元素的透视视图。

但目前浏览器不支持这个效果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<style type="text/css">

    .demo{

        width: 100px;

        height: 100px;

    }

    .box{

    position: relative;

    width: 100px;

    height: 100px;

    transform-style: preserve-3d;

    transition: 1s;

}  

    .box1{

        position: absolute;

        width:100px;

        height:100px;

        background-color:pink;

    }

    .demo:hover .box{

    transform: rotateY(180deg);

}

</style>

</head>

<body>

    <div class="demo">

    <div class="box">

        <div class="box1"></div>

    </div>

</div>

效果图

GIF2.gif

总结:以上就是本篇文章的内容了,希望对大家学习css3有所帮助。

以上就是css3中如何进行2D和3D的转化的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

纯css3实现3d翻转效果的代码示例

如何通过css3实现旋转立方体

transform在html是什么意思

css中可以实现旋转效果的属性是什么

css transform属性怎么用

css3中如何进行2d和3d的转化

更多相关阅读请进入《transform》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...