【问题标题】:CSS transition-delay on display [duplicate]显示CSS转换延迟[重复]
【发布时间】:2014-10-02 06:38:04
【问题描述】:

我有一个元素。在悬停时,它会在 500ms 中移动 opacity: 0;。在500ms 之后,我需要到达display:none;

这是否可以通过在 display 属性上使用 transition-delay 来实现?

.myEl {
transition: opacity 500ms, display 0ms ease 500ms;
opacity: 1;
display: block;
}

.myEl:hover {
display:none;
opacity:0;
}

上面的这段代码对我不起作用:(

在这里提琴:http://jsfiddle.net/onvpn995/

【问题讨论】:

  • 不,过渡可能不适用于显示属性。您也可以使用可见性。
  • 您无法转换显示属性
  • 问题是我需要将它从 dom 中删除,也许我可以将它设置为绝对位置?
  • 我推荐阅读这个:stackoverflow.com/questions/8049855/…
  • 解决方案是不使用位置或显示,而是使用高度新小提琴:jsfiddle.net/onvpn995/2

标签: css css-transitions


【解决方案1】:

如果您使用“显示:无”;您将无法进行过渡。 您可以使用以下内容:

.myEl {
transition: opacity 500ms;
opacity: 1;
display: block;
}

.myEl:hover {
opacity: 0;
visibility:hidden;
}

(as visibility:hidden; 效果和 display:none 差不多)

【讨论】:

  • 这不会有任何过渡,只会隐藏元素
  • 我已经更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 2014-03-23
  • 2015-12-05
  • 2015-07-01
  • 1970-01-01
  • 2012-12-02
  • 1970-01-01
相关资源
最近更新 更多