Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS3 Perspective not rendering result

Tags:

html

css

I am making a simple example to demonstrate CSS3 Perspective property to add a 3D side flip effect. However following simple example, cannot get it done!

<html>
<head>
<style>
    .div1{height:300px;width:300px;position:relative;transform:perspective(100px);border:1px solid black;margin:20px;padding:10px;}
    .div2{position:absolute;background:yellow;transform:rotateY(45deg);}
</style>
</head>
<body> 
  <div class="div1">
      <div class="div2">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat enim. Sed vel rutrum justo. Sed pharetra, erat sit amet dictum tristique, nisi ante rhoncus lectus, sed sodales nibh odio sed sem. Donec in ligula vitae lacus volutpat lobortis. Nam justo libero, consectetur a pharetra ut, pharetra non dui.
      </div>
  </div>
</body> 
</html> 

Reference: https://www.w3schools.com/cssref/tryit.asp?filename=trycss3_perspective1

like image 399
Deadpool Avatar asked Jul 28 '26 02:07

Deadpool


2 Answers

Change transform: perspective(100px) into perspective: 100px

<html>
<head>
<style>
    .div1{height:300px;width:300px;position:relative;perspective:100px;border:1px solid black;margin:20px;padding:10px;}
    .div2{position:absolute;background:yellow;transform:rotateY(45deg);}
</style>
</head>
<body> 
  <div class="div1">
      <div class="div2">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat enim. Sed vel rutrum justo. Sed pharetra, erat sit amet dictum tristique, nisi ante rhoncus lectus, sed sodales nibh odio sed sem. Donec in ligula vitae lacus volutpat lobortis. Nam justo libero, consectetur a pharetra ut, pharetra non dui.
      </div>
  </div>
</body> 
</html>
like image 173
Arkej Avatar answered Jul 30 '26 15:07

Arkej


Try as below, you have defined transform:perspective,whereas perspective is a individual css3 property.

When defining the perspective property for an element, it is the CHILD elements that get the perspective view, NOT the element itself.

 .div1{
 height:300px;
 width:300px;
 position:relative;
 perspective:100px;
 border:1px solid black;
 margin:20px;
 padding:10px;
 overflow:hidden;
 }
.div1 > .div2{
 position:absolute;
 background:yellow;
 transform:rotateY(0deg);
 transition:0.6s ease;
 }
 .div1:hover > .div2{
   transform:rotateY(180deg);
 }
<div class="div1">
      <div class="div2">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat enim. Sed vel rutrum justo. Sed pharetra, erat sit amet dictum tristique, nisi ante rhoncus lectus, sed sodales nibh odio sed sem. Donec in ligula vitae lacus volutpat lobortis. Nam justo libero, consectetur a pharetra ut, pharetra non dui.
      </div>
  </div>
like image 35
frnt Avatar answered Jul 30 '26 16:07

frnt



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!