Как растянуть блок на всю высоту страницы(до дна прокрутки)?
Как растянуть блок по высоте так, чтобы он был до самого низа прокрутки страницы, а не только высоту вьюпорта?
.area{
background: rgb(azure);
background: rgb(azure);
width: 100%;
min-height: 100%;
}
.circles{
position: absolute;
top: 0;
left: 0;
width: 100vw;
min-height: 100%;
overflow: hidden;
}
.circles li{
position: absolute;
display: block;
list-style: none;
width: 20px;
height: 20px;
background: rgba(54, 54, 54);
animation: bg-animate 25s linear infinite;
bottom: -150px;
}
.circles li:nth-child(1){
left: 25%;
width: 80px;
height: 80px;
animation-delay: 0s;
}
.circles li:nth-child(2){
left: 10%;
width: 20px;
height: 20px;
animation-delay: 2s;
animation-duration: 12s;
}
.circles li:nth-child(3){
left: 70%;
width: 20px;
height: 20px;
animation-delay: 4s;
}
.circles li:nth-child(4){
left: 40%;
width: 60px;
height: 60px;
animation-delay: 0s;
animation-duration: 18s;
}
.circles li:nth-child(5){
left: 65%;
width: 20px;
height: 20px;
animation-delay: 0s;
}
.circles li:nth-child(6){
left: 75%;
width: 110px;
height: 110px;
animation-delay: 3s;
}
.circles li:nth-child(7){
left: 35%;
width: 150px;
height: 150px;
animation-delay: 7s;
}
.circles li:nth-child(8){
left: 50%;
width: 25px;
height: 25px;
animation-delay: 15s;
animation-duration: 45s;
}
.circles li:nth-child(9){
left: 20%;
width: 15px;
height: 15px;
animation-delay: 2s;
animation-duration: 35s;
}
.circles li:nth-child(10){
left: 85%;
width: 150px;
height: 150px;
animation-delay: 0s;
animation-duration: 11s;
}
@keyframes bg-animate {
0%{
transform: translateY(0) rotate(0deg);
opacity: 1;
border-radius: 0;
}
100%{
transform: translateY(-100rem) rotate(720deg);
opacity: 0;
border-radius: 50%;
}
}
<div class="area" >
<ul class="circles">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div >
Ответы (1 шт):
Автор решения: Miha
→ Ссылка
Вот так?
/* Начала кода */
* {
margin: 0;
padding: 0;
}
body {
margin: 0;
width: 100%;
min-height: 100vh;
}
/* Конец кода */
.area {
background: azure;
width: 100%;
height: 100%;
}
.circles {
position: absolute;
top: 0;
left: 0;
width: 100vw;
min-height: 100%;
overflow: hidden;
}
.circles li {
position: absolute;
display: block;
list-style: none;
width: 20px;
height: 20px;
background: rgba(54, 54, 54);
animation: bg-animate 25s linear infinite;
bottom: -150px;
}
.circles li:nth-child(1) {
left: 25%;
width: 80px;
height: 80px;
animation-delay: 0s;
}
.circles li:nth-child(2) {
left: 10%;
width: 20px;
height: 20px;
animation-delay: 2s;
animation-duration: 12s;
}
.circles li:nth-child(3) {
left: 70%;
width: 20px;
height: 20px;
animation-delay: 4s;
}
.circles li:nth-child(4) {
left: 40%;
width: 60px;
height: 60px;
animation-delay: 0s;
animation-duration: 18s;
}
.circles li:nth-child(5) {
left: 65%;
width: 20px;
height: 20px;
animation-delay: 0s;
}
.circles li:nth-child(6) {
left: 75%;
width: 110px;
height: 110px;
animation-delay: 3s;
}
.circles li:nth-child(7) {
left: 35%;
width: 150px;
height: 150px;
animation-delay: 7s;
}
.circles li:nth-child(8) {
left: 50%;
width: 25px;
height: 25px;
animation-delay: 15s;
animation-duration: 45s;
}
.circles li:nth-child(9) {
left: 20%;
width: 15px;
height: 15px;
animation-delay: 2s;
animation-duration: 35s;
}
.circles li:nth-child(10) {
left: 85%;
width: 150px;
height: 150px;
animation-delay: 0s;
animation-duration: 11s;
}
@keyframes bg-animate {
0% {
transform: translateY(0) rotate(0deg);
opacity: 1;
border-radius: 0;
}
100% {
transform: translateY(-100rem) rotate(720deg);
opacity: 0;
border-radius: 50%;
}
}
<div class="area">
<ul class="circles">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
Или можете упростить ваш код следующим образом
* {
margin: 0;
padding: 0;
}
body {
width: 100%;
min-height: 100vh;
}
.area {
background: azure;
width: 100%;
min-height: 100%;
}
.circles {
position: absolute;
top: 0;
left: 0;
width: 100vw;
min-height: 100%;
overflow: hidden;
}
.circles li {
position: absolute;
display: block;
list-style: none;
width: var(--w);
height: var(--h);
left: var(--l);
background: rgba(54, 54, 54);
animation: bg-animate 25s linear infinite;
animation-delay: var(--delay);
animation-duration: var(--duration);
bottom: -150px;
}
@keyframes bg-animate {
0% {
transform: translateY(0) rotate(0deg);
opacity: 1;
border-radius: 0;
}
100% {
transform: translateY(-100rem) rotate(720deg);
opacity: 0;
border-radius: 50%;
}
}
<div class="area">
<ul class="circles">
<li style="--w: 80px; --h: 80px; --l: 25%;--delay: 2s; --duration: 0s"></li>
<li style="--w: 20px; --h: 20px; --l: 10%;--delay: 2s; --duration: 12s"></li>
<li style="--w: 20px; --h: 20px; --l: 70%;--delay: 4s; --duration: 0s"></li>
<li style="--w: 60px; --h: 60px; --l: 40%;--delay: 0s; --duration: 18s"></li>
<li style="--w: 20px; --h: 20px; --l: 65%;--delay: 0s; --duration: 0s"></li>
<li style="--w: 110px;--h: 110px;--l: 75%;--delay: 3s; --duration: 0s"></li>
<li style="--w: 150px;--h: 150px;--l: 35%;--delay: 7s; --duration: 0s"></li>
<li style="--w: 25px; --h: 25px; --l: 50%;--delay: 15s;--duration: 45s"></li>
<li style="--w: 15px; --h: 15px; --l: 20%;--delay: 2s; --duration: 35s"></li>
<li style="--w: 150px;--h: 150px;--l: 85%;--delay: 0s; --duration: 11s"></li>
</ul>
</div>