仅 CSS 动画会干扰移动设备上的 Bootstrap4 的导航栏切换器

安德烈亚斯信息

我仅使用 CSS 构建背景动画。我想要一些图像/颜色在无限循环中从左到右以相同的顺序移动。

它可以像我想要的那样使用下面的代码。但是我在移动设备上遇到了问题(在 Android 上测试了 Chrome 85.0.4183.127,在 Firefox Dev Tools 上测试了 iPhone 6/7/8 iOS 11),其中动画正在移动 Bootstrap 的导航栏切换器。

抱歉,代码太长,我无法用更少的代码重现它。

有任何想法吗?

$(document).ready(function() {
  //stop animation
  $(".play_animation").click(() => {
    if ($(".backgroundAll").css("animation-play-state") == "paused") {
      $(".backgroundAll").css("animation-play-state", "running");
      $(".play_animation.fa-pause").css("display", "block");
      $(".play_animation.fa-play").css("display", "none");
    } else {
      $(".backgroundAll").css("animation-play-state", "paused");
      $(".play_animation.fa-pause").css("display", "none");
      $(".play_animation.fa-play").css("display", "block");
    }
  });
});
body,
html {
  overflow-x: hidden;
}

.play_animation.fa-play {
  display: none;
}

.backgroundAll {
  position: absolute;
  height: 100vh;
  width: 100vw;
  top: 0px;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.3; /* not fucking 30% due to fucking Safari (e.g. version 10.1.2) */
}

#background1 {
  left: -100vw;
  background-color: blue;
  animation: bg_first 10s linear;
}

@keyframes bg_first {
  from {
    left: 0;
  }
  to {
    left: 100vw;
  }
}

#background2 {
  left: -100vw;
  background-color: red;
  animation: bg_regular 20s linear infinite;
}

#background3 {
  left: -100vw;
  background-color: blue;
  animation: bg_regular 20s linear 10s infinite;
}

/* add multiple backgrounds */

@keyframes bg_regular {
  from {
    left: -100vw;
  }
  to {
    left: 100vw;
  }
}

#content {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100vw;
  padding: 15px;
}

.mtCustom {
  margin-top: 63px;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Latest compiled and minified CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

  <!-- Font Awesome -->
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
</head>

<body>
  <div class="container-fluid bg-light">
    <div id="nav" class="row bg-dark fixed-top">
      <div class="col-12">
        <nav class="navbar navbar-expand-md bg-dark navbar-dark h5">
          <a class="navbar-brand my-n3 pt-3" href="">
                        Logo
                    </a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
                        <span class="navbar-toggler-icon"></span>
                    </button>
          <div class="collapse navbar-collapse" id="collapsibleNavbar">
            <ul class="navbar-nav">
              <li class="nav-item">
                <a class="nav-link active" href="">Link2</a>
              </li>
              <li class="nav-item">
                <a class="nav-link active" href="">Link1</a>
              </li>
            </ul>
          </div>
        </nav>
      </div>
    </div>
    <div id="background1" class="backgroundAll"></div>
    <div id="background2" class="backgroundAll"></div>
    <div id="background3" class="backgroundAll"></div>

    <div id="content">
      <div class="row mtCustom">
        <div class="col-12">
          <div class="text-center">
            <span class="float-right">
                            <i class="play_animation fas fa-pause"></i>
                            <i class="play_animation fas fa-play"></i>
                        </span>
            <h1 class="py-5">Header</h1>
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- jQuery library -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

  <!-- Popper JS -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

  <!-- Latest compiled JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

</body>

</html>

安德烈亚斯信息
.backgroundAll {
  position: fixed;
  [...]

做到了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bootstrap CSS,如何使始终可见的导航栏切换?

用于引导程序的CSS样式切换器

具有独立导航栏链接的Bootstrap 4导航栏切换器

Bootstrap 4导航栏切换器未显示

Bootstrap导航栏切换器图标(汉堡)大小

Bootstrap4切换按钮

单击切换器后,Bootstrap 4导航不扩展

使用Javascript的CSS切换器

Bootstrap4导航栏切换无法正常工作

如何在悬停时更改bootstrap 4导航栏切换器的颜色?

仅CSS的条件切换

如何在Bootstrap中向左移动导航栏切换按钮和徽标?

工作区切换器仅显示1x4网格,没有动画

Bootstrap导航栏切换按钮在较小的屏幕尺寸上消失

单击小型设备上的切换按钮时,Bootstrap 导航栏将消失

网站移动切换器

Bootstrap 4 轮播隐藏导航栏切换器

Bootstrap 4 在移动屏幕尺寸上单击导航菜单切换器将内容向下推

Bootstrap 4.1.1 导航栏切换器不起作用

Bootstrap 4 在移动设备上最右侧设置折叠切换器导航栏

Bootstrap 导航栏切换器在我的网站上没有显示为按钮。引导程序有错误吗?

导航栏切换器仅在纵向,而不是在移动设备横向

Bootstrap 导航栏切换器

使用 Bootstrap 4 在大屏幕上的导航药丸和小屏幕上的导航栏导航之间切换

导航栏切换器不适用于 Bootstrap 4

Bootstrap:导航栏项目链接在移动视图上移动,悬停时切换导航栏

按下切换器时,Bootstrap 5 折叠导航栏不会显示

导航栏切换器在 Bootstrap 5 中不起作用

导航栏切换器在 Bootstrap 5 中不起作用