perspective()
Quick Summary for perspective()
The perspective() CSS function defines a transformation that sets the distance between the user and the z=0 plane, the perspective from which the viewer would be if the 2-dimensional interface were 3-dimensional. Its result is a <transform-function> data type.
Code Usage for perspective()
perspective(d) 
More Details for perspective()

perspective()

The perspective() CSS function defines a transformation that sets the distance between the user and the z=0 plane, the perspective from which the viewer would be if the 2-dimensional interface were 3-dimensional. Its result is a <transform-function> data type.

The perspective() transform function is part of the transform value applied on the element being transformed. This differs from the perspective and perspective-origin properties which are attached to the parent of a child transformed in 3-dimensional space.

Syntax

The perspective distance used by perspective() is specified by a <length> value, which represents the distance between the user and the z=0 plane, or by none. The z=0 plane is the plane where everything appears in a 2-dimensional view, or the screen. Negative values are syntax errors. Values smaller than 1px (including zero) are clamped to 1px. Values other than none cause elements with positive z positions to appear larger, and elements with negative z positions to appear smaller. Elements with z positions equal to or larger than the perspective value disappear as though they are behind the user. Large values of perspective represent a small transformation; small values of perspective() represent a large transformation; perspective(none) represents perspective from infinite distance and no transformation.

perspective(d) 

Values

d

Is a <length> representing the distance from the user to the z=0 plane. If it is 0 or a negative value, no perspective transform is applied.

Cartesian coordinates on ℝ^2 Homogeneous coordinates on ℝℙ^2 Cartesian coordinates on ℝ^3 Homogeneous coordinates on ℝℙ^3

This transformation applies to the 3D space and can't be represented on the plane.

This transformation is not a linear transformation in ℝ^3, and can't be represented using a Cartesian-coordinate matrix. ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 − 1 / d 1 )

Examples

HTML

<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 (9cm):</p> <div class="perspective-box-far">   <div class="face front">A</div>   <div class="face top">B</div>   <div class="face left">C</div> </div>  <p>With perspective (4cm):</p> <div class="perspective-box-closer">   <div class="face front">A</div>   <div class="face top">B</div>   <div class="face left">C</div> </div> 

CSS

.face {   position: absolute;   width: 100px;   height: 100px;   line-height: 100px;   font-size: 100px;   text-align: center; }  p + div {   width: 100px;   height: 100px;   transform-style: preserve-3d;   margin-left: 100px; } .no-perspective-box {   transform: rotateX(-15deg) rotateY(30deg); }  .perspective-box-far {   transform: perspective(9cm) rotateX(-15deg) rotateY(30deg); }  .perspective-box-closer {   transform: perspective(4cm) rotateX(-15deg) rotateY(30deg); }  .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); } 

Result

Specifications

Specification
CSS Transforms Module Level 2 # funcdef-perspective

See also

transform <transform-function> Select your preferred language English (US)Français日本語Português (do Brasil)中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

You could also follow me on twitter. I have a couple of youtube channels if you want to see some video related content. RuneScape 3, Minecraft and also a coding channel here Web Dev.

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote

Do you want to be right or happy? You can’t be both.

Suggests that in many situations - especially in relationships or arguments - insisting on being right can come at the cost of harmony or peace of mind. It implies that prioritizing your ego or the need to win an argument may damage relationships or personal contentment, whereas letting go of that need (even if you’re technically right) may lead to greater happiness.


Gerald Jampolsky
Latest News
## 🚀 AI Giants Hit Bullseye: Anthropic & OpenAI Achieve Product-Market Fit Anthropic and OpenAI have reached a significant milestone, finding product-market fit with their AI technologies, which means their products effectively meet the needs of their customers, driving growth and adoption. This achievement showcases the practical value of their innovations, enabling businesses and individuals to leverage AI for enhanced productivity and efficiency. With this alignment of product and market needs, these companies are poised to transform industries and shape the future of technology.