css - 过渡不适用于多个属性

标签 css transition

我有一个 div,它定义了相对位置以及左、上和框阴影。当我写一个 div:hover 语句时,我试图转换这些属性中的每一个。它适用于单个属性,但不适用于 2 个或更多属性。这是否应该发生和/或我如何修复它以便可以发生多个转换。

我解决了hover前top和left没有定义的问题,但是同时有多个transition的时候还是没有解决

.faq-card {
                border-radius: 10px;
                border: 1px solid white;
                box-shadow: 10px 10px 10px rgba(216, 44, 44, .5);
                height: 100px;
                position: relative;
                left: 0px;
                top: 0px;
}
.faq-card:hover {
                box-shadow: 0px 0px 10px rgba(216, 44, 44, .5);
                left: 10px;
                top: 10px;
                transition: left 1000ms ease;
                transition: top 1000ms ease;
                transition: box-shadow 1000ms ease;
}

我希望 div 向右移动 10px,向下移动 10px,并且框阴影以过渡方式而不是生涩地淡入 div。然而,他们都在没有过渡的情况下立即执行此操作。感谢您的帮助

最佳答案

这是因为每个 transition属性覆盖了之前的属性。

如果您需要转换多个 属性,您可以使用all(这可能会导致您不想要的意外转换)或逗号分隔要改变的值

所以代替:

            transition: left 1000ms ease;
            transition: top 1000ms ease;
            transition: box-shadow 1000ms ease;

使用

            transition: left 1000ms ease, top 1000ms ease, box-shadow 1000ms ease;

请注意,通过这种方式,您可以在一条语句中为每个属性设置不同的时间和缓动函数

关于css - 过渡不适用于多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58677311/

相关文章:

css - 空样式 (.css/.scss) 文件

javascript - 如何根据屏幕尺寸为元素设置动态宽度?

javascript - 添加淡入淡出过渡效果和自动图像变化

android - Android 中的 Activity 转换

javascript - 禁用 VuetifyJS 中的所有转换

javascript - 单击按钮时在 React 组件上转换 CSS 背景

jQuery:砌体排水沟宽度问题

html - 在 bootstrap 上输入带有 btn-outline 的文件

css - 更改工具栏中的按钮背景颜色

html - 过渡属性到标签内除文本以外的所有内容