看一个小提示来证明我的问题:
div:hover{
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
}
div {
-webkit-transition-duration: 1s; /* Safari */
transition-duration: 1s;
}
我想翻转一个div,底线在整个机芯中完全固定。我一直在谷歌搜索,但找不到解决方案。正如你可以在小提琴中看到的那样,当你将鼠标悬停在div上时,边框的底线远离底部的<hr>
线,然后旋转回来。我希望旋转具有完全固定的底部边框,就像我翻转日历页面一样。我已经尝试过transform-origin来修复旋转,但它显然无法正常工作。有没有办法只做CSS?
答案 0 :(得分:1)
如果您将变换原点放在DIV
属性上,而不是放在DIV:hover
中,那么它可以正常工作。
在代码中:
使用它:
div:hover{
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
div {
-webkit-transition-duration: 1s; /* Safari */
transition-duration: 1s;
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
}
而不是:
div:hover{
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
}
div {
-webkit-transition-duration: 1s; /* Safari */
transition-duration: 1s;
}
答案 1 :(得分:0)
你听说过perspective-origin吗? 我不确定,但我认为
div {
...
perspective-origin:100% 100%;
}
应该适合你。我的测试成功了。 perspective-origin定义了查看者从中查看元素的点。