html - 在 CSS 中添加转换后 div 元素行为异常
问题描述
这是我的文件。
TL;DR - 反复将鼠标悬停在两个 div 元素上以注意它们的行为。
body {
margin: 10rem;
margin-top: 5rem;
}
h1 {
text-align: center;
}
div {
position: absolute;
padding: 2rem;
width: 50px;
height: 50px;
font-size: larger;
background-color: aqua;
}
div#fun {
top: 18rem;
transform: perspective(200px) translateZ(50px) rotateZ(30deg) skew(-20deg, -5deg);
transition-property: all;
transition-duration: 3s;
}
div#fun:hover {
transform: unset;
}
div#move {
transition: right 2s;
}
div#move:hover {
right: 10rem;
}
<h1>Trying to be creative</h1>
<div id="move">Move</div>
<br> <br>
<div id="fun">Fun?!</div>
当您使用 id move 将鼠标悬停在 div 上时,它有时会快速更改其位置,尽管有时不会。我不知道这种行为背后的原因。将鼠标悬停在第二个 div fun上时,它的行为几乎正常,如 transform 属性中所述。但是在反复悬停在它上面之后,它的大小增加了很多,看起来就像从屏幕上弹出一样。
对不起,如果我有点直率,但我已经尽力解释我的问题。我对 CSS 很陌生。欢迎和高度赞赏任何形式的建议和帮助
解决方案
当您使用 CSStransition
时,#move
div
需要right
属性的初始值才能转换。
div#move {
right: 0;
transition: right 2s;
}
div#move:hover {
right: 10rem;
}
推荐阅读
- c# - 如何从 UIElement 中删除父级?WPF
- mongodb - MongooseError:操作 `dbs.findOne()` 缓冲在 10000 毫秒后超时
- sql - INNER JOIN 多个列到另一个表的同一列
- reactjs - 如何在 React 中映射对象
- swift - Docker Image - 如何获得正确的 SHA256(prime、timestamp、nonce)来获取身份验证令牌?
- r - R中的复杂范围
- r - LightGBM 无法预测验证集 (R)
- flutter - 当我的收音机在颤振播放时如何更改图标?
- objective-c - 有没有比 NSOutlineView 中的 reloadData 更快的刷新新插入项目的方法?
- javascript - 上传图片时 Node/Express 无法 POST 错误(React 前端)