【问题标题】:image with href css animation (banner) not working (only in FireFox)带有 href css 动画(横幅)的图像不起作用(仅在 FireFox 中)
【发布时间】:2016-11-14 14:05:17
【问题描述】:

我正在使用 CSS 关键帧和动画制作自动滚动横幅(Keyframe 移出margin,例如@keyframes teammove { 0% { margin-left: 0px; } 100% { margin-left: -1200px; })。不幸的是,它在Firefox中不起作用。

我测试了不同大小的div和溢出设置,最终发现是<a href = ""> </a>标签的问题。

这里有工作(不带href)和不工作(带href)版本的横幅。任何解决方案都会有所帮助。

工作版本:http://codepen.io/andy897221/pen/oLogXO

非工作版本:http://codepen.io/andy897221/pen/XKzNYm

【问题讨论】:

标签: html css firefox href css-animations


【解决方案1】:

您可以尝试使用 javascript onclick 事件首先使用图像,然后使用图像第二个调用函数,例如,

 <!DOCTYPE html>
  <html>
   <body>

   <p>Click the button to set the href value to http://www.google.com.</p>

    <button onclick="myFunction()">Take me to google.com</button>

     <script>
       function myFunction() {
       location.href = "http://www.google.com";
      }
     </script>

    </body>

使用喜欢,

    <img onclick="myFunction()" src="http://portfoliotheme.org/enigmatic/wp-content/uploads/sites/9/2012/07/placeholder1.jpg" width="300" height="200" class="firstimg">
    <img onclick="myFunction()" src="https://placeholdit.imgix.net/~text?txtsize=28&bg=0099ff&txtclr=ffffff&txt=300%C3%97300&w=300&h=300&fm=png" width="300" height="200">

【讨论】:

    【解决方案2】:

    动画最好设置在包装上,而不是每张幻灯片。

    我修改了你的笔。删除浏览器前缀(现在很少需要它们),将动画移动到包装器,并将所有图像包装在锚点中。这里绝对不需要 JavaScript;

    .bannerframe {
      width: 3000px;
      height: 200px;
      animation: teammove 5s linear infinite;
    }
    

    适用于 Chrome、Firefox 和 Edge

    http://codepen.io/anon/pen/grXgZJ

    【讨论】:

    • 我最终选择这个作为答案是因为它是一个更优化的解决方案。没有javascript,lesser css和sitll达到同样的效果。
    • 备注:但此方法需要您精确计算横幅的长度,因此可能并不适合所有人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2019-02-17
    • 2018-06-25
    • 1970-01-01
    • 2013-07-10
    • 2013-12-30
    相关资源
    最近更新 更多