来源:自学PHP网 时间:2018-02-08 10:48 作者: 阅读:次
[导读] CSS perspective 属性用于为一个元素激活3D空间透视效果,使其子元素可以被放置在3D空间中。...
|
CSS perspective 属性用于为一个元素激活3D空间透视效果,使其子元素可以被放置在3D空间中。 通过 下图是W3C关于透视效果的一张说明图片:
图中蓝色的部分代表一个元素位于三维空间中。字母 d 代表透视度(perspective),它表示观察者的眼睛到屏幕之间的距离。字母 Z 代表元素在3D空间Z轴方向上的位置。元素的Z轴值越大,离观察者越远,看起来越小;Z轴值越小,离观察者越近,看起来越大。
如果没有为元素设置 perspective 和 perspective()当你想将一个元素转换为3D空间的时候,有两种方法。第一种是在元素的父元素上使用 使用这两种方法都可以为元素制作3D透视效果,使元素具有远近的3D感觉。元素在Z轴方向的值越大,元素距离观察者就越远,观察者看到的图像就越小。反之,元素距离观察者就越近,观察者看到的图像就越大。 当你为一个元素使用 如果你为一个父元素使用了 默认情况下。一个3D空间的消失点位于中间位置。如果元素不共享同一个3D空间,那么它们各自拥有自己的消失点。因此,使用 下面的两幅图片展示了
rotateY()函数沿Y轴旋转60度。
perspective()函数,它们有各自的3D空间和消失点。官方语法perspective: none | <length> 参数:
应用范围
示例代码取值示例代码如下: /* 关键字 */ perspective: none; /* <length> 值 */ perspective: 20px; perspective: 3.5em; perspective: inherit; 应用示例代码如下:
.container {
perspective: 1200px;
}
.element {
transform: translateZ(-80px) rotateX(45deg);
}
在线演示下面是一个3D立方体的例子,通过为立方体的父容器设置不同的 1
2
3
4
5
6
perspective: 250px; 1
2
3
4
5
6
perspective: 350px; 1
2
3
4
5
6
perspective: 500px; 主要代码如下:
<div class="container">
<div class="cube pers250">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face left">4</div>
<div class="face top">5</div>
<div class="face bottom">6</div>
</div>
<p>perspective: 250px;</p>
</div>
<div class="container">
<div class="cube pers350">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face left">4</div>
<div class="face top">5</div>
<div class="face bottom">6</div>
</div>
<p>perspective: 350px;</p>
</div>
<div class="container">
<div class="cube pers500">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face left">4</div>
<div class="face top">5</div>
<div class="face bottom">6</div>
</div>
<p>perspective: 500px;</p>
</div>
.pers250 {
perspective: 250px;
-webkit-perspective: 250px;
}
.pers350 {
perspective: 350px;
-webkit-perspective: 350px;
}
.pers500 {
perspective: 500px;
-webkit-perspective: 500px;
}
.container {
display: inline-block;
width: 200px;
height: 200px;
margin: 75px 0 0 30px;
border: none;
}
.cube {
width: 100%;
height: 100%;
backface-visibility: visible;
perspective-origin: 150% 150%;
transform-style: preserve-3d;
-webkit-backface-visibility: visible;
-webkit-perspective-origin: 150% 150%;
-webkit-transform-style: preserve-3d;
}
.face {
display: block;
position: absolute;
width: 100px;
height: 100px;
border: none;
line-height: 100px;
font-family: sans-serif;
font-size: 60px;
color: white;
text-align: center;
}
.front {
background: rgba(0, 0, 0, 0.3);
transform: translateZ(50px);
-webkit-transform: translateZ(50px);
}
.back {
background: rgba(0, 255, 0, 1);
color: black;
transform: rotateY(180deg) translateZ(50px);
-webkit-transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgba(196, 0, 0, 0.7);
transform: rotateY(90deg) translateZ(50px);
-webkit-transform: rotateY(90deg) translateZ(50px);
}
.left {
background: rgba(0, 0, 196, 0.7);
transform: rotateY(-90deg) translateZ(50px);
-webkit-transform: rotateY(-90deg) translateZ(50px);
}
.top {
background: rgba(196, 196, 0, 0.7);
transform: rotateX(90deg) translateZ(50px);
-webkit-transform: rotateX(90deg) translateZ(50px)
}
.bottom {
background: rgba(196, 0, 196, 0.7);
transform: rotateX(-90deg) translateZ(50px);
-webkit-transform: rotateX(-90deg) translateZ(50px);
}
浏览器支持CSS |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com