particle.js没有覆盖整个页面

Nic*_*ron 3 html javascript css particles particles.js

我正在尝试将particles.js用作背景,但是无法将画布设置为全尺寸背景。

我尝试了类似问题的至少10种不同解决方案,但没有任何效果。画布始终作为具有宽高比的元素出现在屏幕上,但在调整大小时并不能覆盖整个画布。在成瘾中,它不会作为背景,而是作为身体的一部分,位于其余元素之上或之下。

我尽可能简化了代码,问题仍然存在。

问题的例子

的HTML

<!DOCTYPE HTML>

<html>
    <head>
        <title>Try</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <link rel="stylesheet" media="screen" href="css/style.css">
    </head>

    <body>
        <div id="particles-js"></div>
        <div>
            <p>Something here</p>
        </div>
    </body>

    <script src="assets/js/particles.js"></script>
    <script src="assets/js/app.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

的CSS

canvas{
  display:block;
  vertical-align:bottom;
  position: absolute;
}

/* ---- particles.js container ---- */

#particles-js{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #b61924;
  background-image: url('');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  top: 0;
}
Run Code Online (Sandbox Code Playgroud)

可以从之前发布的所有者的网站上下载APP.JS和PARTICLES.JS。我正在使用他们目前的主题

谢谢你的帮助

Nic*_*ron 6

好的,我终于解决了背景问题:这就是我的管理方式(我很确定我已经尝试过了,但是如果最终可以重新构建整个html)

的CSS

#particles-js{
  width: 100%;
  height: 100%;
  position: fixed;
  background-color: #000;
  background-image: url('');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.body-particles{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
Run Code Online (Sandbox Code Playgroud)

的HTML

<html>
    <head>
        <title>Title</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <!-- SOME CSSs HERE -->

        <link rel="stylesheet" media="screen" href="assets/css/particles.css">

         <!-- SOME SCRIPTS HERE -->
    </head>
    <body>
        <div class="body-particles">

        <!-- Wrapper -->
            <div id="wrapper">
                <!-- MY STUFF HERE, STYLED WITH MY CSS -->
            </div>
        </div>

        <!-- particles.js container -->
        <div id="particles-js"></div>

        <!-- scripts -->
        <script src="assets/js/particles.js"></script>
        <script src="assets/js/app.js"></script>

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在,我有一个新问题:被设置为基础层,它不捕获任何指针事件。一旦使它起作用,我将更新答案。

显然,如有任何建议,请随时提供帮助。

更新:mouseEvents的变通办法:将class mouseEvents添加到我需要关注的元素(例如navbar等)中

的CSS

.body-particles{
  pointer-events: none;
}

.mouseEvents{
  pointer-events: all;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果有人知道将事件保留在正面和背面的更好方法,那就太好了


ypi*_*ard 5

我只需要这样做...

HTML:

<body>
    <div id="particles-js"></div>
    ...
</body>
Run Code Online (Sandbox Code Playgroud)

CSS:

#particles-js {
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: -100;
}
Run Code Online (Sandbox Code Playgroud)