CSS perspective property is used to give perspective to 3D objects. Perspective is the representation of 3D objects on a 2D plane to give the appearance depth and distance in relation to each other. When defining the perspective property, the child element gets perspective, not the parent element. So, the value defines how close the child is from the Z plane.
Each 3D element becomes larger if the z is greater than 0 & each 3D element becomes smaller if the z is less than 0. The strength of the effect can be determined by the perspective property value. Large values of perspective can produce a small transformation & small values of perspective can produce a large transformation. The portion of the 3D elements which is behind the user i.e. if their z-axis coordinates are greater than the perspective CSS property value then it will not possible to drawn. By default, the fade point is placed at the element's center position, although we can change its position using the perspective-origin property. By using perspective property having other than none value, can creates a new stacking context.
Syntax:
perspective: length| none| initial| inherit;
Property values: All the properties are described well with the example below.
length: length property is used to sets the distance of child element from viewer to Z plane. So, the smaller the value, the more splendid image is formed.
Syntax:
perspective: length;
Example: This example illustrates the use of the perspective property where length value is set to 200px.
HTML
<!DOCTYPE html>
<html>
<head>
<title> CSS perspective Property </title>
<style>
.class1 {
margin-top: 20px;
margin-left: 40px;
height: 200px;
width: 200px;
color: #0F9D58;
border: 1px solid;
perspective: 200px; /*length value of perspective property*/
}
.class2 {
padding: 60px;
border: 2px solid;
background: #0F9D58;
color: white;
transform: rotateX(45deg) rotateY(45deg);
}
</style>
</head>
<body>
<div class="class1">GeeksforGeeks
<div class="class2">GeeksforGeeks</div>
</div>
</body>
</html>
Output:

none: It is the default value. It indicates no perspective is set. none is equivalent to 0px.
Syntax:
perspective: none;
Example: This example illustrates the use of the perspective property where the property value is set to none.
HTML
<!DOCTYPE html>
<html>
<head>
<title> CSS perspective Property </title>
<style>
.class1 {
margin-top: 20px;
margin-left: 40px;
height: 200px;
width: 200px;
color: #0F9D58;
border: 1px solid;
/*none value of perspective property*/
perspective: none;
}
.class2 {
padding: 60px;
border: 2px solid;
background: #0F9D58;
color: white;
transform: rotateX(45deg) rotateY(45deg);
}
</style>
</head>
<body>
<div class="class1">GeeksforGeeks
<div class="class2">GeeksforGeeks</div>
</div>
</body>
</html>
Output:

initial: It is used to set an element’s CSS property to its default value i.e., initial sets the default value. There is no perspective is set.
Syntax:
perspective: initial;
Example: This example illustrates the use of the perspective property where the property value is set to initial.
HTML
<!DOCTYPE html>
<html>
<head>
<title> CSS | perspective Property </title>
<style>
.class1 {
margin-top: 20px;
margin-left: 40px;
height: 200px;
width: 200px;
color: #0F9D58;
border: 1px solid;
/*initial value of perspective property*/
perspective: initial;
}
.class2 {
padding: 60px;
border: 2px solid;
background: #0F9D58;
color: white;
transform: rotateX(45deg) rotateY(45deg);
}
</style>
</head>
<body>
<div class="class1">
GeeksforGeeks
<div class="class2">GeeksforGeeks</div>
</div>
</body>
</html>
Output:

inherit: It is used to inherit a property to an element from its parent element property value ie., inherit receives the property from the parent element. When it is used with the root element then the initial property will be used.
Syntax:
perspective: inherit;
Example: This example illustrates the use of the perspective property where the property value is set to inherit.
HTML
<!DOCTYPE html>
<html>
<head>
<title> CSS perspective Property </title>
<style>
.class0 {
perspective: 150px;
}
.class1 {
margin-top: 20px;
margin-left: 40px;
height: 200px;
width: 200px;
color: #0F9D58;
border: 1px solid;
/*inherit value of perspective property*/
perspective: inherit;
}
.class2 {
padding: 60px;
border: 2px solid;
background: #0F9D58;
color: white;
transform: rotateX(45deg) rotateY(45deg);
}
</style>
</head>
<body>
<div class="class0">
<div class="class1">GeeksforGeeks
<div class="class2">GeeksforGeeks</div>
</div>
</div>
</body>
</html>
Output:

Supported Browsers: The browsers supported by perspective Property are listed below:
- Google Chrome 36.0
- Microsoft Edge 12.0
- Firefox 16.0
- Opera 23.0
- Safari 9.0
Similar Reads
CSS @charset Rule
The @charset rule specifies the character encoding used in the style sheet. The @charset must be the first element in the style sheet and if several @charset rules are defined then the only first one is used. It can not be used in the <style> element where the character set of the HTML page is
3 min read
CSS @keyframes Rule
The CSS @keyframes rule defines animations by specifying keyframes that describe the styles to be applied at various points during the animation duration. It allows for smooth transitions and transformations in web elements, controlled through percentages or from-to values.Note:For optimal browser s
3 min read
CSS @media Rule
The @media CSS at-rule is used to apply a different set of styles for different media/devices using the Media Queries. A Media Query is mainly used to check the height, width, resolution, and orientation(Portrait/Landscape) of the device. This CSS rule is a way out for making more out of responsive
5 min read
CSS align-content property
The align-content property changes the behavior of the flex-wrap property. It aligns flex lines. It is used to specify the alignment between the lines inside a flexible container. This property defines how each flex line is aligned within a flexbox and is only applicable if flex-wrap: wrap is applie
4 min read
CSS align-items Property
The align-items property in CSS is used to align flex items along the cross-axis within a flex container. It accepts values like flex-start, flex-end, center, baseline, and stretch, controlling the vertical alignment of items in a flexbox.Syntaxalign-items: normal | stretch | center | flex-start | f
7 min read
CSS align-self Property
The align-self property in CSS is used to align the selected items in the flexible container in many different manners such as flex-end, center, flex-start, etc. Syntax:align-self: auto|normal|self-start|self-end|stretch|center |baseline, first baseline, last baseline|flex-start |flex-end|baseline|s
5 min read
CSS all Property
The all property in CSS is the shorthand property used to set all the element's values to their initial or inherited values or in some cases used to set the values to another spreadsheet origin. This property is used to reset all the CSS properties in a document.Syntax:Â all: initial|inherit|unset|re
3 min read
CSS animation-delay Property
The animation-delay property specifies a delay for the start of an animation. Defined in seconds (s) or milliseconds (ms), this value determines how long to wait before beginning the animation. Negative values start the animation as if it had already been playing for the specified duration.Syntaxani
3 min read
CSS animation-direction Property
The animation-direction CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward. It controls the visual flow and repetition behavior of animations in web pages, enhancing dynamic content presentation.Syntaxan
4 min read
CSS animation-duration Property
The animation-duration property in CSS is essential for controlling the length of time an animation takes to complete one cycle, making it a vital tool for creating dynamic and engaging web designs.Syntax:animation-duration: time | initial | inherit;Property Value:time: This value is used to specify
3 min read