gpt4 book ai didi

css - 如何放大保持对象的中心到位?

转载 作者:行者123 更新时间:2023-11-28 00:46:06 25 4
gpt4 key购买 nike

我试图让它从中心而不是从左上角放大。根据 here,我尝试了 transform: scale(2,2)transform: translateX(-25%) translateY(-25%) ,两者似乎都没有做任何事情。除了scale 之外还有其他选择吗?它似乎不适用于 Chrome。也许它与它所在的容器有关?我不知道。我尝试更改 topleft 坐标以说明动画播放时中心的移动,但这也没有帮助。

	.box2 {
position: relative;
width: 40em;
height: 20em;
}

.box2 > .content {
-moz-transition: opacity 1s ease;
-webkit-transition: opacity 1s ease;
-ms-transition: opacity 1s ease;
transition: opacity 1s ease;
opacity: 1.0;
margin: 0;
}

.box2.inactive > .content {
opacity: 0;
}


.circle {
position: absolute;
border-radius: 50%;
background: green;
opacity: 1;

}

.circle.circle1 {
top: 4em;
left: 6em;
width: 5em;
height: 5em;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.circle.circle2 {
top: 10em;
left: 20em;
width: 3em;
height: 3em;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
}

.circle:hover {
width: 10em;
height: 10em;
}
<html>
<div class="box2">
<div class="circle circle1"></div>
</div>
</html>

在带有 scale(2,2) 的 Microsoft Edge 中看起来像这样,在 Chrome 中根本没有动画: enter image description here

最佳答案

您可以为 .circle 设置 transform: translate(-50%, -50%); - 它相对于起点向左和向上移动圆因此点设置在圆心。

.circle {
position: absolute;
border-radius: 50%;
transform: translate(-50%, -50%);
background: green;
opacity: 1;
}

.circle.circle1 {
top: 8em;
left: 12em;
width: 5em;
height: 5em;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.circle:hover {
width: 10em;
height: 10em;
}
<html><div class="circle circle1"></div></html>

关于css - 如何放大保持对象的中心到位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53525968/

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