javascript - 使伪元素出现,然后在 X 时间后再次消失

标签 javascript jquery css css-selectors pseudo-element

我试图操纵我的 body 标签的 :before 伪元素在一定时间后出现,然后在几秒钟后再次消失。

body:before {
  content: " ";
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  background: #color;
}

所以,从本质上讲,我试图在 X 秒后显示这个带有伪元素的完整视口(viewport)叠加层,然后在经过一段时间后,我想再次将其删除!

我该如何解决这个问题?

最佳答案

你可以用纯 CSS 做这样的事情:

body:before {
  content: " ";
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  background: red;
  animation: show 5s ease-out forwards;
  
}

@keyframes show{
  0%{
    content: "";
    opacity: 0;
  }
  20%{
    content: "";
    opacity: 1;
  }
  90%{
    content: "";
    opacity: 1;
  }
  100%{
    content: none;
    opacity: 0;
  }
}
Hello World!

要选择持续时间,只需调整表示秒的字母“s”前的数字:

animation: show ***5s*** ease-out forwards;

关于javascript - 使伪元素出现,然后在 X 时间后再次消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899350/

相关文章:

javascript - 错误 : WebGL: Exceeded 16 live WebGL contexts for this principal, 丢失最近最少使用的一个

javascript - 为什么传递 JavaScript 对象的方法不会更新该对象?

javascript - jQuery 只切换 child

css - 是否可以在 css 中进行一定程度的间接访问?

Javascript Switch Case 在社交引擎中不起作用

javascript - jQuery 单击事件在警报后不起作用

javascript - 将 JSON 对象添加到 DIV

jquery - 使用 $(this) 的绝对选择到相对选择

jquery slideToggle 到达高度时弹跳

html - Safari/Windows 中的 CSS *仅*,可能与溢出有关