【发布时间】:2013-02-05 10:06:01
【问题描述】:
我需要将 background-color 从 red 更改为 transparent。
当我将鼠标悬停在 div 上时应该会发生这种变化。
我之所以需要它transparent 是为了在主 div 下显示一个绝对定位的 div,换句话说,当我将鼠标悬停在父 div 上时,我需要显示子 div。
当我将光标从该 div 移开时,我不想要 reverse-transition,我希望背景保持透明,我希望在我移开光标后蓝色 div 始终存在。
因为我需要一个纯 CSS 解决方案(没有 JS/JQuery),所以我进入了 CSS3 过渡。
<div id="parent">
<div id="child">
</div>
</div>
这是fiddle (Firefox)。
#parent
{
background:red;
-moz-transition:background 1s;
}
#parent:hover
{
background:transparent;
}
我考虑过使用animation 来做这件事,因为我可以通过给它一个临时持续时间来保持透明,例如fake。
0% {background:red;}
1% {background:transparent;}
100% {background:transparent;}
但是当我移开光标时动画会停止。
注意:这可能听起来很荒谬或愚蠢,但我的意图远不止于此,这只是一个小例子。
【问题讨论】:
标签: html css animation css-transitions