gpt4 book ai didi

html - Css 将元素从左移动到右动画

转载 作者:太空狗 更新时间:2023-10-29 13:55:28 25 4
gpt4 key购买 nike

当我更改左右变量时,我有一个元素需要从左到右和从右到左移动。

这是我正在处理的一个 jsfiddle 示例。它从左到右和从右到左移动,但没有动画。

我做错了什么?

CSS:

Demo JSFiddle

div
{
width:100px;
height:100px;
background:red;
transition-property: right, left;
transition-duration: 2s;
-webkit-transition-property: right, left; /* Safari */
-webkit-transition-duration: 2s; /* Safari */
position:absolute;
}
div:hover
{
right:0px;
}

HTML:

<body>

<p><b>Note:</b> This example does not work in Internet Explorer 9 and earlier versions.</p>

<div></div>

<p>Hover over the div element above, to see the transition effect.</p>

</body>

最佳答案

这是因为您没有为非悬停状态赋予 right 属性。

right 未设置,因此它试图从无到有 0px。显然,因为它无处可去,所以它只是“flex ”了。

如果您给未悬停状态 right:90%;,它将按照您喜欢的方式进行转换。

作为旁注,如果您仍然希望它位于页面的最左侧,您可以使用 calc css 函数。

例子:

right: calc(100% - 100px)
^ width of div

那时你不必使用 left

此外,您不能使用 leftright auto 进行转换,并且会产生相同的“变形”效果。

div {
width:100px;
height:100px;
background:red;
transition:2s;
-webkit-transition:2s;
-moz-transition:2s;
position:absolute;
right:calc(100% - 100px);
}
div:hover {
right:0;
}
<p>
<b>Note:</b> This example does not work in Internet Explorer 9 and earlier versions.
</p>
<div></div>
<p>Hover over the red square to see the transition effect.</p>

CanIUse表示 calc() 函数仅适用于 IE10+

关于html - Css 将元素从左移动到右动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23908176/

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