我想知道如何制作边框效果。我所做的只是在css3:http://jsfiddle.net/ueu64hps/中这种淡入淡出的效果,但是我仍然想要那种滑动效果。谢谢。
与示例一样,http://velvethammer.net/边界从20%滑到100%。这是我想要的,但是在页面加载时。
我将在下面粘贴我的代码:
HTML:
<div id="left" class = "slow fade-in"></div>
<div id="right" class = "slow fade-in"></div>
<div id="top" class = "slow fade-in"></div>
<div id="bottom" class = "slow fade-in"></div>
<div class = "wrap">
<h2>Some random text.</h2>
</div>
和CSS:
*{
margin: 0;
padding: 0;
}
#top, #bottom, #left, #right {
background: black;
position: fixed;
}
#left, #right {
top: 0; bottom: 0;
width: 35px;
}
#left {
left: 0;
}
#right {
right: 0;
}
#top, #bottom {
left: 0; right: 0;
height: 35px;
}
#top {
top: 0;
}
#bottom {
bottom: 0;
}
.wrap{
margin:35px;
}
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.fade-in {
opacity:0; /* make things invisible upon start */
-webkit-animation:fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
-moz-animation:fadeIn ease-in 1;
animation:fadeIn ease-in 1;
-webkit-animation-fill-mode:forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
-moz-animation-fill-mode:forwards;
animation-fill-mode:forwards;
-webkit-animation-duration:1s;
-moz-animation-duration:1s;
animation-duration:1s;
}
.fade-in.slow {
-webkit-animation-delay: 1.5s;
-moz-animation-delay: 1.5s;
animation-delay: 1.5s;
}
谢谢。
最佳答案
您可以同时为#left, #right
和#top, #bottom
设置动画。这是complete example。
创建2个动画集,一个用于宽度,另一个用于高度:
/* For left and right animation */
@-webkit-keyframes easeInLeft { from { width:0; } to { width:30px; } }
@-moz-keyframes easeInLeft { from { width:0; } to { width:30px; } }
@keyframes easeInLeft { from { width:0; } to { width:30px; } }
/* For top and bottom animation */
@-webkit-keyframes easeInTop { from { height:0; } to { height:30px; } }
@-moz-keyframes easeInTop { from { height:0; } to { height:30px; } }
@keyframes easeInTop { from { height:0; } to { height:30px; } }
然后在各自的
div
上播放:.ease-in-left {
width: 0; /* Set it to 0 initially */
-webkit-animation: easeInLeft ease-in 1;
-moz-animation: easeInLeft ease-in 1;
animation: easeInLeft ease-in 1;
}
.ease-in-top {
height: 0; /* Set it to 0 initially */
-webkit-animation: easeInTop ease-in 1;
-moz-animation: easeInTop ease-in 1;
animation: easeInTop ease-in 1;
}
这是
div
的样子:<div id="left" class = "slow fade-in ease-in-left"></div>
<div id="right" class = "slow fade-in ease-in-left"></div>
<div id="top" class = "slow fade-in ease-in-top"></div>
<div id="bottom" class = "slow fade-in ease-in-top"></div>
我保留了
.fade-in
类的原样(您应该重命名该类),并使用常见的动画属性,并从设置它们的任何位置删除了opacity
属性。关于jquery - 加载边框动画?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26226126/