3 回答
TA贡献1805条经验 获得超10个赞
您可以尝试将其添加到 CSS 中,看看它是否具有优先级:
.header, .header-wrapper {
animation: pop 2s;
}
@keyframes pop
{
0%{transform:scale(0);}
100%{transform:scale(0);}
}
TA贡献1848条经验 获得超10个赞
另一种方法是:
//JS
// After 4.5 seconds the function runs the code and change the CSS class
setTimeout(() => {
document.querySelector('#header').className = "headerShow headerHide"
},4500)
/* CSS */
body {
background: black;
}
.headerHide {
display: none
}
.headerShow {
display: block;
background: red;
position: absolute;
width: 100vw;
text-align: center;
font-size: 30px;
top: 0
}
/* HTML */
<header id='header' class='headerHide'>Header</header>
TA贡献1856条经验 获得超11个赞
您可以像这样使用 CSS 类:
隐藏某个类,将该类应用于您的元素。
为了平滑过渡,请
transition
为隐藏类上设置的属性指定 -property。加载时,使用 删除所述类
setTimeout()
。
您甚至还可以使用自定义属性来指定延迟,在此之后应删除其“隐藏类”!
执行此操作时,请确保在未指定属性时使用后备值。
这样,您可以在不同的延迟后显示多个元素,所有这些都在 HTML 中指定。
for (let el of document.querySelectorAll('.onload-hidden')) {
setTimeout(() => el.classList.remove('onload-hidden'),
el.getAttribute('data-delay') || 1000); // Specified delay, or fallback-delay
}
.onload-hidden {
visibility: hidden;
opacity: 0;
}
div {
transition: 1s;
}
<div>
<h1>Always shown</h1>
<p>This <div> should always be visible.</p>
</div>
<div class="onload-hidden" data-delay="4000">
<h1>Initially hidden - 1</h1>
<p>This <div> should only be visible after a set delay!</p>
</div>
<div class="onload-hidden" data-delay="500">
<h1>Initially hidden - 2</h1>
<p>This <div> should only be visible after a set delay!</p>
</div>
添加回答
举报