gpt4 book ai didi

html - 在没有不良影响的情况下为倾斜的 div 设置动画

转载 作者:行者123 更新时间:2023-11-28 05:21:53 25 4
gpt4 key购买 nike

我想制作一个带有平行四边形容器的菜单,并在 CSS 上为它们制作动画。这个想法是当您悬停一个元素时,平行四边形会改变它的高度以产生视觉缩放效果。

到目前为止一切顺利,但问题是当我在悬停时改变平行四边形的高度时,它的位置也会稍微向右改变,我不知道为什么。

所以提示是:是否有任何方法可以改变平行四边形的高度以保持其位置?

这是我得到的不良效果:

.container {
float: left;
padding: 0 0.5rem;
}

.parallelogram {
position: relative;
width: 125px;
height: 50px;
-webkit-transform: skew(-30deg);
-moz-transform: skew(-30deg);
-o-transform: skew(-30deg);
transform: skew(-30deg);
transition: all .4s linear;
}

.parallelogram:hover {
height: 100px;
}
<div class="container">
<div class="parallelogram" style="background-color: red;">
1
</div>
</div>
<div class="container">
<div class="parallelogram" style="background-color: green;">
2
</div>
</div>
<div class="container">
<div class="parallelogram" style="background-color: blue;">
3
</div>
</div>

最佳答案

据我了解,您只需更改 .parallelogramtransform-origin

这是更新后的演示。

.container {
float: left;
padding: 0 0.5rem;
}
.parallelogram {
position: relative;
width: 125px;
height: 50px;
-webkit-transform: skew(-30deg);
-moz-transform: skew(-30deg);
-o-transform: skew(-30deg);
transform: skew(-30deg);
transition: all .4s linear;
transform-origin: top right;
}
.parallelogram:hover {
height: 100px;
}
<div class="container">
<div class="parallelogram" style="background-color: red;">
1
</div>
</div>
<div class="container">
<div class="parallelogram" style="background-color: green;">
2
</div>
</div>
<div class="container">
<div class="parallelogram" style="background-color: blue;">
3
</div>
</div>

关于html - 在没有不良影响的情况下为倾斜的 div 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37693081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com