CSS Properties: How to transformed child elements preserve the 3D transformations
Solution:
HTML Code :
<!DOCTYPE html><!-- Declares the document type and version of HTML -->
<html><!-- Begins the HTML document -->
<head><!-- Contains metadata and links to external resources -->
<title>How to transformed child elements preserve the 3D transformations</title><!-- Sets the title of the document -->
<style type="text/css"> /* Starts CSS styling */
#div1 {
position: relative; /* Sets the positioning context for div1 */
height: 250px; /* Sets the height of div1 to 250 pixels */
width: 230px; /* Sets the width of div1 to 230 pixels */
margin: 100px; /* Sets the margin around div1 */
padding: 10px; /* Sets the padding inside div1 */
border: 1px solid #CC0099; /* Sets the border style and color of div1 */
}
#div2 {
padding: 50px; /* Sets the padding inside div2 */
position: absolute; /* Positions div2 absolutely within its nearest positioned ancestor */
border: 1px solid #6633FF; /* Sets the border style and color of div2 */
background-color: #0000CC; /* Sets the background color of div2 */
-webkit-transform: rotateY(60deg); /* Applies a Y-axis rotation to div2 for WebKit-based browsers */
-webkit-transform-style: preserve-3d; /* Preserves the 3D transformations of child elements in WebKit-based browsers */
transform: rotateY(60deg); /* Applies a Y-axis rotation to div2 for other browsers */
transform-style: preserve-3d; /* Preserves the 3D transformations of child elements in other browsers */
}
#div3 {
padding: 50px; /* Sets the padding inside div3 */
position: absolute; /* Positions div3 absolutely within its nearest positioned ancestor */
border: 1px solid #FF0000; /* Sets the border style and color of div3 */
background-color: #33CCFF; /* Sets the background color of div3 */
-webkit-transform: rotateY(-60deg); /* Applies a Y-axis rotation to div3 for WebKit-based browsers */
transform: rotateY(-60deg); /* Applies a Y-axis rotation to div3 for other browsers */
}
</style><!-- Ends CSS styling -->
</head><!-- Ends the head section -->
<body><!-- Begins the body of the document -->
<h1><strong>w3resource Tutorial</strong></h1><!-- Displays a level 1 heading with bold text "w3resource Tutorial" -->
<div id="div1"><!-- Starts a div with id "div1" -->
<div id="div2"><strong>w3resource</strong><!-- Starts a div with id "div2" inside div1 -->
<div id="div3">Web Development Tutorial</div><!-- Starts a div with id "div3" inside div2 -->
</div><!-- Ends div2 -->
</div><!-- Ends div1 -->
</body><!-- Ends the body section -->
</html><!-- Ends the HTML document -->
Explanation:
- This HTML document demonstrates how child elements preserve 3D transformations applied to their parent elements.
- div1 serves as the parent container for div2.
- div2 is rotated by 60 degrees around the Y-axis using CSS3 transformations, and its 3D transformations are preserved.
- Inside div2, div3 is also rotated by -60 degrees around the Y-axis, demonstrating that child elements maintain the 3D transformations of their parent elements.
Live Demo:
See the Pen transform-style-answer by w3resource (@w3resource) on CodePen.
See the solution in the browser
Supported browser
Yes | Yes | Yes | Yes | Yes |
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics