The canvas is scalable if the parent's height is 100%

I am using particles to create canvas animations. The problem is, I need to make sure the section height #home

is 100% of the window, but when I do that, the canvas does not look as expected.

While using the following CSS rule technically works, I cannot use it because I need to set it $('#home').height($(window).height())

for some purpose later in my code.

html, body, #home {
  height:100%;
}

      


Snippet of code:

if ($('#particles-js').length > 0) {
    particlesJS('particles-js',

  {
      "particles": {
          "number": {
              "value": 150,
              "density": {
                  "enable": true,
                  "value_area": 800
              }
          },
          "color": {
              "value": "#ffffff"
          },
          "shape": {
              "type": "circle",
              "stroke": {
                  "width": 0,
                  "color": "#ffffff"
              },
              "polygon": {
                  "nb_sides": 5
              },
          },
          "opacity": {
              "value": 0.5,
              "random": false,
              "anim": {
                  "enable": false,
                  "speed": 1,
                  "opacity_min": 0.1,
                  "sync": false
              }
          },
          "size": {
              "value": 5,
              "random": true,
              "anim": {
                  "enable": false,
                  "speed": 40,
                  "size_min": 0.1,
                  "sync": false
              }
          },
          "line_linked": {
              "enable": true,
              "distance": 150,
              "color": "#777",
              "opacity": 0.4,
              "width": 1
          },
          "move": {
              "enable": true,
              "speed": 6,
              "direction": "none",
              "random": false,
              "straight": false,
              "out_mode": "out",
              "attract": {
                  "enable": false,
                  "rotateX": 600,
                  "rotateY": 1200
              }
          }
      },
      "interactivity": {
          "detect_on": "canvas",
          "events": {
              "onhover": {
                  "enable": true,
                  "mode": "repulse"
              },
              "onclick": {
                  "enable": true,
                  "mode": "push"
              },
              "resize": true
          },
          "modes": {
              "grab": {
                  "distance": 400,
                  "line_linked": {
                      "opacity": 1
                  }
              },
              "bubble": {
                  "distance": 400,
                  "size": 40,
                  "duration": 2,
                  "opacity": 8,
                  "speed": 3
              },
              "repulse": {
                  "distance": 200
              },
              "push": {
                  "particles_nb": 4
              },
              "remove": {
                  "particles_nb": 2
              }
          }
      },
      "retina_detect": true,
      "config_demo": {
          "hide_card": false,
          "background_color": "#b61924",
          "background_image": "",
          "background_position": "50% 50%",
          "background_repeat": "no-repeat",
          "background_size": "cover"
      }
  }

);
}
// the problem here
$('#home').height($(window).height());
      

#home {
  width: 100%;
  position: relative;
  padding: 50px;
  background-image: url("../images/cover1.jpg");
  background-position:center center;
  background-size: cover;
}
#home .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.60);
}
#home #particles-js{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left:0;
    overflow:hidden;
}
      

<script src="https://cdnjs.cloudflare.com/ajax/libs/particles.js/2.0.0/particles.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <section id="home" >
        <div class="overlay">
            <div id="particles-js">

            </div>
        </div>
    </section>
      

Run code


+3


source to share





All Articles