MS Edge:CSS3 过渡在 link 内的元素中未按预期工作
MS Edge: CSS3 transitions not working as expected in element inside link
我有一个 link,里面有一个元素(我们称它为 Bob)。 Bob 是 link 的明星,所以他想闪耀一点不同。
link 有一些 CSS3 过渡以创建淡入淡出效果。 Bob还有淡化效果,所以他还是可以成为link.
的闪亮元素
重要的一点是 :hover
与容器相关(在示例中,div
),我需要它。
它在 Firefox、Chrome 和 IE 中运行良好,但 Microsoft Edge 不喜欢 Bob 的闪耀方式。在过渡期间,鲍勃就消失了,我不知道他去了哪里。
这是一个例子HTML:
<div>
<a href="#1">
<span class="Bob">Bright like a diamond!</span>
<p>Random text</p>
</a>
<a href="#2">Other random stuff, who cares...</a>
</div>
:hover
转换在 div
上,然后 a
和 Bob 都有转换。相关的 CSS 很简单,像这样:
div:hover .Bob { transition: all 0.5s ease 0s; }
.Bob { transition: all 0.5s ease 0s; }
div:hover a { transition: all 0.5s ease 0s; }
a { transition: all 0.5s ease 0s; }
然后他们只是有不同的颜色,所以你可以看到淡入淡出的动画
这是一个 JSFiddle,因此您可以认识 Bob:
https://jsfiddle.net/Cthulhu/9vv7v6gd/
如果您在 MS Edge 中对其进行测试,您将看到 Bob 如何在转换过程中消失,我们不希望出现这种情况。如果你改变 Bob 和 a
之间的转换时间,它会变得更奇怪,但让我们暂时保持简单。
有什么想法吗?
我今天遇到了同样的问题。我通过更具体的转换解决了它 属性
{ transition: all 0.5s ease 0s; }
改为
{ transition: color 0.5s ease 0s; }
解决此问题的方法是将过渡结果添加到元素。
div:hover a {
/* for example, if blue text was the desired transition. */
color: blue;
}
现在是 2019 年。问题已由 Microsoft 解决,Edge 在这种情况下的行为与任何其他浏览器一样。
案件结案。
我有一个 link,里面有一个元素(我们称它为 Bob)。 Bob 是 link 的明星,所以他想闪耀一点不同。
link 有一些 CSS3 过渡以创建淡入淡出效果。 Bob还有淡化效果,所以他还是可以成为link.
的闪亮元素重要的一点是 :hover
与容器相关(在示例中,div
),我需要它。
它在 Firefox、Chrome 和 IE 中运行良好,但 Microsoft Edge 不喜欢 Bob 的闪耀方式。在过渡期间,鲍勃就消失了,我不知道他去了哪里。
这是一个例子HTML:
<div>
<a href="#1">
<span class="Bob">Bright like a diamond!</span>
<p>Random text</p>
</a>
<a href="#2">Other random stuff, who cares...</a>
</div>
:hover
转换在 div
上,然后 a
和 Bob 都有转换。相关的 CSS 很简单,像这样:
div:hover .Bob { transition: all 0.5s ease 0s; }
.Bob { transition: all 0.5s ease 0s; }
div:hover a { transition: all 0.5s ease 0s; }
a { transition: all 0.5s ease 0s; }
然后他们只是有不同的颜色,所以你可以看到淡入淡出的动画
这是一个 JSFiddle,因此您可以认识 Bob: https://jsfiddle.net/Cthulhu/9vv7v6gd/
如果您在 MS Edge 中对其进行测试,您将看到 Bob 如何在转换过程中消失,我们不希望出现这种情况。如果你改变 Bob 和 a
之间的转换时间,它会变得更奇怪,但让我们暂时保持简单。
有什么想法吗?
我今天遇到了同样的问题。我通过更具体的转换解决了它 属性
{ transition: all 0.5s ease 0s; }
改为
{ transition: color 0.5s ease 0s; }
解决此问题的方法是将过渡结果添加到元素。
div:hover a {
/* for example, if blue text was the desired transition. */
color: blue;
}
现在是 2019 年。问题已由 Microsoft 解决,Edge 在这种情况下的行为与任何其他浏览器一样。
案件结案。