Firefox中闪烁的动画

时间:2012-10-26 11:32:29

标签: html css html5 firefox css3

我正在使用CSS进行滑动登录框。我面临的问题是,在FireFox(我正在使用Firefox 16.0)中,幻灯片动画闪烁。它在chrome和Safari中工作正常(在IE中没有动画但没有闪烁,登录框看起来很好)。 这是HTML:

<div id="slideout">
        <div id="slideout_inner">
             <form id="loginForm" action="#" method="POST">
                <table cellspacing="0">
                    <tbody>
                        <tr>
                            <td><label for="lUsername">Username</label></td>
                            <td><label for="lPassword">Password</label></td>
                        </tr>
                        <tr>
                            <td><input type="text" name="username" id="lUsername" class="required" /></td>
                            <td><input type="password" name="password" id="lPassword" class="required" /></td>
                            <td><input type="submit" value="Login" /></td>
                        </tr>
                        <tr>
                            <td><span class="error"></span></td>
                            <td><span class="error"></span></td>
                        </tr>

                    </tbody>
                </table>
            </form>
        </div>
        <label>Login</label>

这是CSS

#slideout {
  position: fixed;
  top: 0px;
  left: 0;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
#slideout_inner {
  position: fixed;
  top: -250px;
  left: 0px;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
#slideout:hover{
  top: 250px;
}
#slideout:hover #slideout_inner{
  top: 0;
}

以下是问题的JSFiddle 如何修复Firefox中的闪烁?感谢

1 个答案:

答案 0 :(得分:3)

JSFiddle可能会对您有所帮助。

像这样写:

#slideout {
  position: fixed;
  top: 0;
  left: 0;
}
#slideout_inner{
    height:0;
    -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  overflow:hidden;
}
#slideout:hover #slideout_inner{
  height:200px;
  border:1px solid red;
}

JSFiddle