• 技术文章 >web前端 >css教程

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

    清浅清浅2018-11-17 09:29:34原创2151
    本篇文章分享的是有关css3中的2D转换和3D转换,有一定的参考价值,希望对大家有所帮助

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

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

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

    推荐课程【css3】

    2D转换

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

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

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

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

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

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

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

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

    matrix()

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

    matrix(0.866,0.5,-0.5,0.866,0,0)
    例:
    <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轴旋转

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

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

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

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

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

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

    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 旋转。

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

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

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

    例
    <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的转化的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:transform
    上一篇:纯css实现加号一个的效果(代码示例) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• CSS3的3D转换效果详解介绍_html/css_WEB-ITnose• CSS3如何实现2D转换和3D转换,他们有何区别_html/css_WEB-ITnose• css3动画2D、3D转换的方法
    1/1

    PHP中文网