使用CSS 3淡入Box Shadow?

时间:2013-03-10 05:55:56

标签: css animation css3

我有一个脚本,一旦用户开始滚动,就会添加一个看起来非常好的框阴影。但是,此框阴影会立即添加。我希望它在使用CSS 3时淡入淡出。我尝试创建关键帧,在1秒内将不透明度从0改变为1但这不起作用。

这是我正在使用的脚本:

$(function() {
 $(window).scroll(function() {
    var top_offset = $(window).scrollTop();
    if (top_offset) {
      $('.top_head_separator').addClass('fixed-top fade-in');
  }
});

CSS:

.fixed-top {
  background:#FFFFFF;
  box-shadow: 0 7px 15px 4px rgba(0,0,0,0.38);
  height: 90px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;

}
@keyframes fadeIn {
  0% {opacity: 0;}  
  100% {opacity: 1;}
}

.fadeIn {
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-name: fadeIn;
}

如何让盒子阴影淡入?

注意:我在此问题中省略了供应商前缀,但它们在我的代码中。

1 个答案:

答案 0 :(得分:2)

我认为你只是有一个拼写错误和一两个语法错误,否则你很好。两件事:

  • 在jQuery中关闭两个函数。
  • 您的CSS提及fadeIn,但jQuery有fade-in

这是新的,固定的jQuery代码:

$(function() {
 $(window).scroll(function() {
    var top_offset = $(window).scrollTop();
    if (top_offset) {
      $('.top_head_separator').addClass('fixed-top fadeIn'); // <<<< "fadeIn"
    }
 }); // <<<< ADDED
});

有关工作示例,请参阅this -webkit- demo