Front-end Tutorials

Front-end Tutorials

HTMLCSSSassJavaScriptReactJS
CMS Tutorials

CMS Tutorials

WordPress
Tutorials expand

CSS Topics

CSS transform-style Property

Posted in CSS Tutorial
Updated on Oct 13, 2024
By Mari Selvan
👁️ 23 - Views
⏳ 4 mins
💬 1 Comment
CSS transform-style Property

Photo Credit to CodeToFun

🙋 Introduction

The transform-style property in CSS is used to specify how nested elements are rendered in 3D space. It determines whether the children of an element are flattened into the plane of the element itself or whether they retain their 3D position relative to the parent.

This property is particularly useful when working with 3D transforms and creating 3D effects on web pages.

💡 Syntax

The syntax for the transform-style property is simple. It can be applied to any element that supports transforms.

Syntax
Copied
Copy To Clipboard
element {
  transform-style: value;
}

🎛️ Default Value

The default value of the transform-style property is flat. This means that by default, the children of an element are rendered in the 2D plane of the parent element.

🏠 Property Values

ValueDescription
flatThis value indicates that the children of the element are flattened into the 2D plane of the element.
preserve-3dThis value indicates that the children of the element should retain their 3D position relative to the parent element.

📄 Example

In this example, we'll create a 3D cube using the transform-style property set to preserve-3d to maintain the 3D positioning of the cube faces.

index.html
Copied
Copy To Clipboard
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS transform-style Example</title>
  <style>
    .cube {
      width: 100px;
      height: 100px;
      position: relative;
      transform-style: preserve-3d;
      transform: rotateX(45deg) rotateY(45deg);
    }
    .cube-face {
      position: absolute;
      width: 100px;
      height: 100px;
      background: rgba(255, 0, 0, 0.5);
      border: 1px solid #000;
    }
    .front  { transform: translateZ(50px); }
    .back   { transform: rotateY(180deg) translateZ(50px); }
    .left   { transform: rotateY(-90deg) translateZ(50px); }
    .right  { transform: rotateY(90deg) translateZ(50px); }
    .top    { transform: rotateX(90deg) translateZ(50px); }
    .bottom { transform: rotateX(-90deg) translateZ(50px); }
  </style>
</head>
<body>
  <h1>3D Cube with transform-style: preserve-3d</h1>
  <div class="cube">
    <div class="cube-face front"></div>
    <div class="cube-face back"></div>
    <div class="cube-face left"></div>
    <div class="cube-face right"></div>
    <div class="cube-face top"></div>
    <div class="cube-face bottom"></div>
  </div>
</body>
</html>

🖥️ Browser Compatibility

The transform-style property is supported in most modern browsers, including the latest versions of Chrome, Firefox, Safari, Edge, and Opera. However, it is always a good practice to test your website across different browsers to ensure compatibility.

🎉 Conclusion

The transform-style property is a powerful tool for web developers working with 3D transformations.

By controlling whether child elements are flattened or retain their 3D position, you can create complex and visually appealing 3D effects. Experiment with this property to see how it can enhance the depth and realism of your web designs.

👨‍💻 Join our Community:

To get interesting news and instant updates on Front-End, Back-End, CMS and other Frameworks. Please Join the Telegram Channel:

Author

author
👋 Hey, I'm Mari Selvan

For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.

Buy me a coffee to make codetofun.com free for everyone.

Buy me a Coffee

Share Your Findings to All

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
We make use of cookies to improve our user experience. By using this website, you agree with our Cookies Policy
AgreeCookie Policy