当前位置: 首页 > 面试题库 >

带有褪色效果的全背景图像

苗阳
2023-03-14
问题内容

.crossfade > div {

    animation: imageAnimation 30s linear infinite 0s;

    backface-visibility: hidden;

    background-size: cover;

    background-position: center center;

    color: transparent;

    height: 100%;

    left: 0px;

    opacity: 0;

    position: fixed;

    top: 0px;

    width: 100%;

    z-index: 0;

  }



  .crossfade {

    height: 500px;

  }

  #fade1{

    background-image: url('../images/taxi.jpg');

  }

  #fade2 {

    animation-delay: 6s;

    background-image: url('../images/default.jpg');

  }

  #fade3 {

    animation-delay: 12s;

    background-image: url('../images/neuroBG.JPG');

  }

  #fade4 {

    animation-delay: 18s;

    background-image: url('../images/new4.jpeg');

  }

  #fade5 {

    animation-delay: 24s;

    background-image: url('../images/new3.jpg');

  }



  #fade6 {

    animation-delay: 30s;

    background-image: url('../images/new1.jpg');

  }



  #fade7 {

    animation-delay: 36s;

    background-image: url('../images/new2.jpeg');

  }


      <div class="crossfade">

            <div id="fade1"></div>

            <div id="fade2"></div>

            <div id="fade3"></div>

            <div id="fade4"></div>

            <div id="fade5"></div>

            <div id="fade6"></div>

            <div id="fade7"></div>

        </div>

我想像背景网站www.flitways.com那样使背景图像淡入淡出。

我曾尝试复制此图像,但是图像无法正常消失。我只是觉得那里缺少东西。将不胜感激对此的任何帮助。谢谢。


问题答案:

为了使图像正确地淡入和淡出,需要计算百分比和时间,以使其看起来不错,如下所述,或者只是给每个图像一个@keyframes自己的规则。

对于“ n”幅图像,您必须html" target="_blank">定义:

  • a =一幅图像的演示时间
  • b =交叉衰落的持续时间
  • 总的动画持续时间当然是t =(a + b)* n

动画延迟= t / n或= a + b

关键帧百分比:

  1. 0%
  2. a / t * 100%
  3. (a + b)/ t * 100%= 1 / n * 100%
  4. 100%-(b / t * 100%)
  5. 100%

.crossfade > div {

  animation: imageAnimation 8s linear infinite;

  backface-visibility: hidden;

  background-size: cover;

  background-position: center center;

  color: transparent;

  height: 100%;

  left: 0;

  position: fixed;

  top: 0;

  width: 100%;

}

.crossfade {

  height: 500px;

}

@keyframes imageAnimation {

  0% {

    opacity:1;

  }

  17% {

    opacity:1;

  }

  25% {

    opacity:0;

  }

  92% {

    opacity:0;

  }

  100% {

    opacity:1;

  }

}



.crossfade div:nth-of-type(1) {

  background-image: url(http://placehold.it/200/f00);

  animation-delay: 6s;

}

.crossfade div:nth-of-type(2) {

  background-image: url(http://placehold.it/200/0b0);

  animation-delay: 4s;

}

.crossfade div:nth-of-type(3) {

  background-image: url(http://placehold.it/200/00f);

  animation-delay: 2s;

}

.crossfade div:nth-of-type(4) {

  background-image: url(http://placehold.it/200/ff0);

  animation-delay: 0;

}


<div class="crossfade">

  <div></div>

  <div></div>

  <div></div>

  <div></div>

</div>


 类似资料:
  • 我正在使用Android v21支持库。 我已经创建了一个自定义背景颜色的按钮。当我使用背景色时,像涟漪,揭示的材质设计效果已经消失了(除了点击时的提升)。

  • 我正在尝试将按钮的背景色从蓝色淡入白色,并将字体颜色从白色淡入蓝色。我查了其他帖子。 这是我的小提琴:http://jsfiddle.net/t533wbuy/1/ 我用这把小提琴作为参考:http://jsfiddle.net/visualdecree/SvjHx/ 我的问题是: 我希望它是一个按钮,而不是一个按钮 Css html 点击这里申请 jQuery

  • 问题内容: 如果选择了该面板(单击该面板),则该面板的颜色为蓝色。另外,我在该面板上添加了一个小标志(图像),它表示所选面板之前已被选中。 因此,如果用户看到例如10个面板,其中有4个带有这个小标记,则他知道自己之前已经单击了这些面板。到目前为止,这项工作还不错。现在的问题是我无法显示小标志并使面板同时变为蓝色。 我使用css将面板设置为蓝色,使用设置背景图像。但是背景色似乎在图像上方,因此您看不

  • 我有一个奇怪的问题,老实说,我不知道该怎么做。 我有一个背景图像的盒子。在背景图片上,我有很多带有背景颜色和文字的框。我希望每个框中的文本的颜色是透明的,所以颜色将是文本上面的背景图像的一部分。 这里有一个例子:http://jsfiddle.net/wjdwohdd/5/ 它应该是一个图像,而不是绿色背景。 如果我设置颜色:透明,文本的颜色变成红色,我不确定它是否可以作为背景图片。 编辑:我更新

  • 问题内容: 假设我要在CSS中渲染箭头,箭头应具有头部,尾部和灵活的宽度,以便可以包含文本。我当然可以创建多个div来获得所需的内容,但是如何在CSS3中完成呢? 我可以使用多个背景图片: 的HTML: 这给了我一个带有箭头和尾巴的透明中间部分。似乎不可能在中间部分指定颜色。 仅使用一张背景图像,您可以执行以下操作: 我知道这在很多方面都是可行的,但是背景颜色属性是否真的从速记定义中丢失了? 问题

  • 问题内容: 有人可以解释一下设置图形的面色时为什么下面的代码不起作用吗? 当我使用 这些命令指定图形的高度和宽度时,这些命令将被拾取。但是,没有选择Facecolor设置。为什么? 谢谢你的帮助。 问题答案: 这是因为覆盖图形背景的面色。 (实际上,这是有意的。假设是您可能希望使用kwarg来控制保存的图形的背景色。不过,这是一个令人困惑且不一致的默认值!) 最简单的解决方法是做(我在这里指定ed