html - 延迟特定的变换属性 CSS
问题描述
我正在努力做到这一点,以便在延迟的帮助下,该rotate(-45deg)
属性在第一个属性之后不久被translateY(6px)
延迟。但是我该怎么做呢?
代码:
transform: translateY(6px) rotate(-45deg);
我一开始以为是这样的:
transform: translateY(6px) rotate(-45deg, 2s);
解决方案
没有简单的方法可以做到这一点,但在您的特定情况下,您可以使用两个不同的属性拆分转换。您将旋转保持在变换内,并使用顶部/底部添加平移。
.box {
margin: 20px;
position: relative;
width: 200px;
height: 200px;
background: red;
top: 0;
transition: transform 0.5s, top 0.5s 0.5s;
}
.box:hover {
transform: rotate(-45deg);
top: -50px;
}
<div class="box">
</div>
或者你可以考虑animation
:
.box {
margin: 20px;
position: relative;
width: 200px;
height: 200px;
background: red;
top: 0;
}
.box:hover {
animation:change 1s linear forwards
}
@keyframes change {
50% {
transform: rotate(-45deg);
}
100% {
transform: translateY(-50px) rotate(-45deg);
}
}
<div class="box">
</div>
推荐阅读
- mysql - 计算按国家分组的一列中的比率
- c++ - 用大 O 表示法表示的 mandelbrot 集的时间复杂度
- python - 捕获停止执行我的 Python 脚本的错误
- amazon-web-services - Amazon CloudWatch 日志组的后端存储
- vba - 根据 ObjectList 中的 2 列删除重复项
- apache-spark - 如何在pyspark数据框中的groupby之后进行条件聚合?
- angular - 错误消息服务、子组件和父组件
- java - 如何在 Java 中遍历大型 SQL 结果集或一次获取 X 行
- java - Java 将 XML 拆分为单独的字符串
- hibernate - 如何将 Spring Security 连接到 hibernate.cfg.xml 文件