首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

perspective()

perspective() CSS函数定义了设置用户和在z = 0平面之间的距离的变换。其结果是<transform-function>数据类型。

语法

perspective()所使用的透视距离由代表用户与z = 0平面之间的距离的<length>值指定。正值使元素看起来更接近用户,负值则更远。

代码语言:javascript
复制
perspective(d)

可能值

_d_ <length>表示从用户到z = 0平面的距离。如果它是0或负值,则不应用透视变换。

Cartesian coordinates on ?2

Homogeneous coordinates on ??2

Cartesian coordinates on ?3

Homogeneous coordinates on ??3

This transform applies to the 3D space and cannot be represented on the plane.

A perspective is not a linear transform in ?3 and cannot be represented using a matrix in the Cartesian coordinate system.

10000100001000?1/d1

实例

HTML

代码语言:javascript
复制
<p>Without perspective:</p>
<div class="no-perspective-box">
? <div class="face front">A</div>
? <div class="face top">B</div>
? <div class="face left">C</div>
</div>

<p>With perspective (7.5cm):</p>
<div class="perspective-box">
? <div class="face front">A</div>
? <div class="face top">B</div>
? <div class="face left">C</div>
</div>

CSS

代码语言:javascript
复制
.face {
? position: absolute;
? width: 100px;
? height: 100px;
? line-height: 100px;
? font-size: 100px;
? text-align: center;
}

.no-perspective-box {
? width: 100px;
? height: 100px;
? transform-style: preserve-3d;
? transform: rotateX(-15deg) rotateY(15deg);
? margin-left: 100px;
}

.perspective-box {
? width: 100px;
? height: 100px;
? transform-style: preserve-3d;
? transform: perspective(7.5cm) rotateX(-15deg) rotateY(15deg);
? margin-left: 100px;
}

.top {
? background-color: skyblue;
? transform: rotateX(90deg) translate3d(0, 0, 50px);
}

.left {
? background-color: pink;
? transform: rotateY(-90deg) translate3d(0, 0, 50px);
}

.front {
? background-color: limegreen;
? transform: translate3d(0, 0, 50px);
}

结果

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com