我有一个div我正在使用CSS进行转换。实际转型如下:
.trans{
transform-origin: right center;
transform: perspective( 600px ) rotateY( -30deg) translateZ(1px);
-webkit-transform-origin: right center;
-webkit-transform: perspective( 600px ) rotateY( -30deg) translateZ(150px);
}
就我所能找到的问题而言,这会将div“深入”旋转到页面后面。它显示正确,但似乎没有正确地与鼠标交互。所以我的悬停状态的CSS类在这些元素上根本不起作用。
您可以查看reduced testcase。在结果窗格中,请注意左侧的正方形不会正确更改背景颜色,但右侧的正方形会更改。这个错误发生在Chrome上,但在我测试时没有在Firefox或IE上发生。
关于如何解决这个问题的任何好主意?
答案 0 :(得分:5)
您必须为display
类声明.trans
属性才能使其正常工作。多数民众赞成。
HTML:
<div class="square trans">
<p>Text Here!</p>
</div>
<div class="square">
<p>Text Here!</p>
</div>
CSS:
.square{
background-color: #ffffff;
border-radius: 4px;
border-color: #222222;
border width: 6px;
border-style: dotted;
display:inline-block;
float:left;
}
.trans{
transform-origin: right center;
transform: perspective( 600px ) rotateY( -30deg);
-webkit-transform-origin: right center;
-webkit-transform: perspective( 600px ) rotateY( -30deg);
display:table-cell;
}
/* Doesn't work on transformed square! */
.square:hover{
background-color: #ff0000;
}
希望这有帮助。