我想知道如何制作边框效果。我所做的只是在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/

10-11 20:00
查看更多