如何让 css 流畅的全屏动画?
how to make css animation smoothly for full-screen page?
这是我的css
html , body{
height:100%;
width:100%;
overflow:hidden;
}
.screen-main{
position:absolute;
width:100%;
height:100%;
top:0%;
left:0%;
background-color:red;
}
.screen-login{
position:absolute;
width:100%;
height:100%;
top:0%;
left:0%;
background-color:green;
-webkit-transform:translate3d(100%,0%,0px);
}
.screen-login-left{
position:absolute;
width:100%;
height:100%;
background-color:green;
top:0%;
left:0%;
-webkit-transform:translate3d(0%,0%,0px);
-webkit-animation:right-to-left 0.5s;
}
@-webkit-keyframes right-to-left{
0%{ -webkit-transform:translate3d(100%,0%,0px); -webkit-animation-timing-function: ease-in; }
50%{ -webkit-transform:translate3d(50%,0%,0px); -webkit-animation-timing-function: ease-out; }
100%{ -webkit-transform:translate3d(0%,0%,0px); }
}
我的HTML::
<body>
<div class="screen-main" >main <a id="to-login-btn">to login</a></div>
<div class="screen-login" >login</div>
</body>
我的问题::
这不是顺利过渡!
如何修复它们?
一些技术可以帮助?
我可以使用 left 或 transform:translate() 进行过渡吗?
关于浏览器回流?(我不确定)
请帮帮我。非常感谢。
要使动画发生,您应该将动画 class 添加到任何元素
<body class="screen-login-left">
<div class="screen-main">main <a id="to-login-btn">to login</a>
</div>
<div class="screen-login">login</div>
</body>
如果你想让它更流畅就提高动画速度
.screen-login-left {
position:absolute;
width:100%;
height:100%;
background-color:green;
top:0%;
left:0%;
-webkit-transform:translate3d(0%, 0%, 0px);
-webkit-animation:right-to-left 3s;
}
这是我的css
html , body{
height:100%;
width:100%;
overflow:hidden;
}
.screen-main{
position:absolute;
width:100%;
height:100%;
top:0%;
left:0%;
background-color:red;
}
.screen-login{
position:absolute;
width:100%;
height:100%;
top:0%;
left:0%;
background-color:green;
-webkit-transform:translate3d(100%,0%,0px);
}
.screen-login-left{
position:absolute;
width:100%;
height:100%;
background-color:green;
top:0%;
left:0%;
-webkit-transform:translate3d(0%,0%,0px);
-webkit-animation:right-to-left 0.5s;
}
@-webkit-keyframes right-to-left{
0%{ -webkit-transform:translate3d(100%,0%,0px); -webkit-animation-timing-function: ease-in; }
50%{ -webkit-transform:translate3d(50%,0%,0px); -webkit-animation-timing-function: ease-out; }
100%{ -webkit-transform:translate3d(0%,0%,0px); }
}
我的HTML::
<body>
<div class="screen-main" >main <a id="to-login-btn">to login</a></div>
<div class="screen-login" >login</div>
</body>
我的问题:: 这不是顺利过渡!
如何修复它们? 一些技术可以帮助? 我可以使用 left 或 transform:translate() 进行过渡吗? 关于浏览器回流?(我不确定)
请帮帮我。非常感谢。
要使动画发生,您应该将动画 class 添加到任何元素
<body class="screen-login-left">
<div class="screen-main">main <a id="to-login-btn">to login</a>
</div>
<div class="screen-login">login</div>
</body>
如果你想让它更流畅就提高动画速度
.screen-login-left {
position:absolute;
width:100%;
height:100%;
background-color:green;
top:0%;
left:0%;
-webkit-transform:translate3d(0%, 0%, 0px);
-webkit-animation:right-to-left 3s;
}