Я бы не подумал, что это странное поведение, элемент canvas следует за потоком документов, поэтому, поскольку он позиционируется после .container-form
the canvas
, он появится после it,(вы можете увидеть это в исходном HTML-коде предоставленной вами ссылки)
Итак, если вы хотите, чтобы частицы отображались за формой, вы должны вытащить форму или холст из потока, то есть изменить егопозиционирование.
Вы можете, например, изменить позиционирование холста на position: fixed;
canvas{
position:fixed;
top: 0px;
left: 0px;
}
и убедиться, что в вашем HTML-контейнере, содержащем частицы, находится перед контейнером сваша форма, так что она отображается за ней.
В вашем конкретном случае, я думаю, ваш код может работать следующим образом:
<section class="fullscreen cover image-bg" id="particles-js" style="height:826px;" >
</section>
<div class="container-form" style="background-color: transparent;" >
<form id="contact" action="" method="post">
</form>
</div>
И в вашем CSS:
#particles-js{
position:fixed;
top: 0px;
left: 0px;
}