css3中-webkit-perspective如何理解?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css3中-webkit-perspective如何理解?相关的知识,希望对你有一定的参考价值。

设置的值是否有上限?设置为150时有明显的效果,但是设为30000时看上去和设置为0时一样……这个属性的解释是“定义 3D 元素距视图的距离”,这句话是什么意思?把什么看作视图?

这是实际上指的是成像画布距离div的距离,你可以把成像画布想象成地面,有一个div站在地面上150米距离(就是这个属性设置150的意思,不过单位不是米),然后太阳把div的影子投在地面上。离地面远和近,都会使影子在地面上的大小形状不一样。这个影子,就是最终你在电脑屏幕上看见的。这个属性没有上下限。 参考技术A 将平面图形转换为具有透视的3D图形,该属性只能使其子元素产生3D,不对自身节点产生影响。http://www.787866.com/2083.html这里有详细的解释本回答被提问者采纳 参考技术B perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许改变 3D 元素查看 3D 元素的视图。当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。
当perspective:none/0;时,相当于没有设perspective(length)。比如要建立一个小立方体,长宽高都是200px。如果perspective < 200px ,那就相当于站在盒子里面看的结果,如果perspective 非常大那就是站在非常远的地方看(立方体已经成了小正方形了)。
当元素没有设置perspective(length)时,所有后代元素被压缩在同一个二维平面上,不存在景深的效果。如果设置perspective(length)后,将会看到三维的效果。默认的透视视角中心在容器(是perspective所在的元素,不是他的后代元素)的中点,也就是perspective-origin: 50% 50%。当然你也可以自己设置,比如:左上角-webkit-perspective-origin: 0px 0px;。

目前浏览器都不支持 perspective 属性。Chrome 和 Safari 支持替代的 -webkit-perspective 属性。

css3js动画特效

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .out{
            width: 200px;
            height: 300px;        
            -webkit-perspective:800px;  
            margin: 0 auto;
        }
        .box{
            width: 100%;
            height: 100%;
            -webkit-transform-style: preserve-3d;
        }
        img{            
            transition: -webkit-transform 2s  ease 1s,width 1s ease 2s;
            -webkit-box-reflect:below 5px -webkit-gradient(linear,50% 0,50% 100%, 
                color-stop(0,rgba(0,0,0,0)),color-stop(0.5,rgba(0,0,0,0.1)),
                color-stop(0.8,rgba(0,0,0,0.4)),color-stop(1,rgba(0,0,0,0.8))
                );    
                            /*above:
                            指定倒影在对象的上边
                            below:
                            指定倒影在对象的下边
                            left:
                            指定倒影在对象的左边
                            right:
                            指定倒影在对象的右边
                                5px 定义阴影和图片的距离

                            */

        }
        img:hover{
            
            -webkit-transform:rotate3d(1,1,1,45deg);
            width: 300px;
        }
    </style>
</head>
<body>
<div class="out">
    <div class="box">
        <img src="1.jpg" width="200px" height="200px">
    </div>
</div>
    
</body>
</html>

 

以上是关于css3中-webkit-perspective如何理解?的主要内容,如果未能解决你的问题,请参考以下文章

用于 ios 的硬件加速 css3 转换

css3js动画特效

css3怎么让3d旋转的层近大远小

css3的3d旋转为啥会导致元素变大?

使用JS与CSS3的翻转实现3D翻牌效果

手写笔中的 CSS3 过渡 - 如何为 IE9 降级