【问题标题】:CSS transition property can't be used twice for a selector?CSS过渡属性不能用于选择器两次?
【发布时间】:2017-04-26 16:41:44
【问题描述】:

CSS transition 属性未按预期运行

我正在尝试为不同的属性添加不同的转换,但正如我所料,transition 似乎不起作用。


这是我的 CSS 代码
* {
    transition: all .5s ease-in-out;
    transition: opacity 80ms linear;
    transition: background .2s ease-out;
  }

我可能在做一些非常明显的错误,但如果您能提供帮助,我将不胜感激。提前致谢!

【问题讨论】:

  • 忘了说,但只执行了最后一个转换。浏览器似乎忽略了以前的并用最后一个覆盖它们
  • 将通过快速提示帮助您。 CSS 使用属性的最后声明,这就是它被称为 CASCADING 样式表的原因! @Santi 是正确的,只是用逗号分隔它们。
  • @ZeusZdravkov 检查我的答案。这就是你所希望的吗?
  • @YashYadav 您是否注意到您在我发布几分钟后发布了与我相同的答案?当您发布答案时,OP 会收到通知 - 无需发表评论并让他们知道。
  • @Santi 嗯?我不知道谁在发帖,谁不是。我只是在写代码,所以花了我一些时间。对不起,如果我伤害了你的感情。

标签: css css-transitions transition


【解决方案1】:

多次声明同一个 CSS 属性将导致之前的声明被覆盖,并且只保留最后一个。 (假设他们有相同的specificity)。

你可以像这样用逗号分隔转换:

transition: all .5s ease-in-out, opacity 80ms linear, background .2s ease-out;

演示:

* {
    transition: all .5s ease-in-out, opacity 2s linear, background 4s ease-out;
}

div {
    padding: 100px;
    background-color: red;
    color: white;
    opacity: 0.4;
}

div:hover {
    font-size: 20px;
    opacity: 1;
    background-color: blue;
}
<div>hover this</div>

【讨论】:

  • 完美运行,谢谢!我确信我在做一些非常愚蠢的事情=D
猜你喜欢
  • 2021-10-23
  • 2021-08-07
  • 2014-10-14
  • 2020-04-30
  • 2016-10-05
  • 2014-09-14
  • 2020-09-23
  • 2013-08-28
  • 1970-01-01
相关资源
最近更新 更多