perspective()

语法

transform:perspective(length);
perspective:<length>;
语法项目 说明
初始值 none
适用于 块元素和行内元素
可否继承
取值 长度值
媒介 视觉
版本 CSS3.0

说明

perspective 变换函数对于 3D 变换来说至关重要。该函数会设置查看者的位置,并将可视内容映射到一个视锥上,继而投影到一个 2D 视平面上。如果不指定透视,则 Z 空间中的所有点将平铺到同一个 2D 视平面中,并且变换结果中将不存透视深概念。作用于元素的子元素。

perspective有两种写法,一种是设置所有的子元素有一个共同的透视值,perspective作为一个属性值来写;一种是直接作用于元素本身,perspective作为transform的一个函数来写如:

.wrap{-webkit-perspective:1000px;}

.wrap .child{-webkit-transform:perspective(1000px);}

关联属性:perspective-origin

取值

none:没有透视变换功能。

length:指定一个透视值。

实例代码

CSS 复制代码
.perspective_none{
    position:relative;
    background:#4d6ea6;
    float:left;
    margin:50px;
    -webkit-animation:perspective_none 4s infinite linear;
    -moz-animation:perspective_none 4s infinite linear;
}
.perspective_value{
    position:relative;
    background:#4d6ea6;
    float:left;
    margin:50px;
    -webkit-animation:perspective_value 4s infinite linear;
    -moz-animation:perspective_value 4s infinite linear;
}
@-webkit-keyframes perspective_none{
    0%{-webkit-transform:rotateX(0deg);}
    100%{-webkit-transform:rotateX(360deg);} 
}
@-moz-keyframes perspective_none{
    0%{-moz-transform:rotateX(0deg);}
    100%{-moz-transform:rotateX(360deg);} 
}
@-webkit-keyframes perspective_value{
    0%{-webkit-transform:perspective(500px) rotateX(0deg);}
    100%{-webkit-transform:perspective(500px) rotateX(360deg);} 
}
@-moz-keyframes perspective_value{
    0%{-moz-transform:perspective(500px) rotateX(0deg);}
    100%{-moz-transform:perspective(500px) rotateX(360deg);} 
}

                   
                        
HTML 复制代码
<div class="demo_box perspective_none">没有设置3D透视%</div>
<div class="demo_box perspective_value">透视为500px</div>                     
                        
运行 新窗口运行 查看实例

兼容性

IE Firefox Opera Safari Chrome
IE 10+ Firefox 3.5+ Opera 11.50+ Safari 10+ Chrome 2.0+

参考文献

修改 重新运行 关闭