gpt4 book ai didi

html - CSS 列表以未知数量逐渐淡入

转载 作者:行者123 更新时间:2023-11-28 01:52:04 25 4
gpt4 key购买 nike

我正在尝试使用普通 CSS 进行渐进淡入,而列表中没有 jquery,因此它可以一个接一个地淡入。但是,我只知道如何在有限数量的列表中做到这一点。我如何循环 css,以便无论我有多少列表,它仍然有效。

这是我所做的:

.ladder {
opacity: 0;
-webkit-animation: fadeIn 0.9s 1;
animation: fadeIn 0.9s 1;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}

.ladder:nth-child(5n+1) {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s;
}

.ladder:nth-child(5n+2) {
-webkit-animation-delay: 0.4s;
animation-delay: 0.4s;
}

.ladder:nth-child(5n+3) {
-webkit-animation-delay: 0.6s;
animation-delay: 0.6s;
}

.ladder:nth-child(5n+4) {
-webkit-animation-delay: 0.8s;
animation-delay: 0.8s;
}

.ladder:nth-child(5n+5) {
-webkit-animation-delay: 1.0s;
animation-delay: 1.0s;
}

@-webkit-keyframes fadeIn {
0% {
opacity: 0.0;
}
100% {
opacity: 1.0;
}
}

@keyframes fadeIn {
0% {
opacity: 0.0;
}
100% {
opacity: 1.0;
}
}
<li class="ladder">A</li>
<li class="ladder">B</li>
<li class="ladder">C</li>
<li class="ladder">D</li>
<li class="ladder">E</li>

我的问题:无论列表有多少,如何使 css 正常工作。

最佳答案

这是一个使用 CSS 变量的想法,可以让您减少代码。它不是通用的,但将简单的内联 CSS 附加到每个 li 比编写复杂的 CSS 更容易:

.ladder {
opacity: 0;
animation: fadeIn 1s var(--d) forwards;
}

@keyframes fadeIn {
100% {
opacity: 1;
}
}
<ul>
<li style="--d:0s" class="ladder">A</li>
<li style="--d:0.2s" class="ladder">B</li>
<li style="--d:0.4s" class="ladder">C</li>
<li style="--d:0.6s" class="ladder">D</li>
<li style="--d:0.8s" class="ladder">E</li>
</ul>

这是另一个想法,您可以在 ul 上应用动画:

ul {
position:relative;
}
ul:before {
content:"";
position:absolute;
top:-20px;
bottom:0;
left:0;
right:0;
background:linear-gradient(to bottom,transparent,#fff 20px);
animation:fadeIn 2s forwards
}

@keyframes fadeIn {
0% {
top:-10px;
}
100% {
top: 100%;
}
}
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>

关于html - CSS 列表以未知数量逐渐淡入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com