我可以通过使用以下CSS将不透明度为零的元素的类更改为.elementToFadeInAndOut来使其淡入:

.elementToFadeInAndOut {
    opacity: 1;
    transition: opacity 2s linear;
}

有没有办法让元素在淡入后通过编辑同一类的css淡出?

推荐答案

使用CSS @keyframes

.elementToFadeInAndOut {
    opacity: 1;
    animation: fade 2s linear;
}


@keyframes fade {
  0%,100% { opacity: 0 }
  50% { opacity: 1 }
}

这是一个演示

.elementToFadeInAndOut {
    width:200px;
    height: 200px;
    background: red;
    -webkit-animation: fadeinout 4s linear forwards;
    animation: fadeinout 4s linear forwards;
}

@-webkit-keyframes fadeinout {
  0%,100% { opacity: 0; }
  50% { opacity: 1; }
}

@keyframes fadeinout {
  0%,100% { opacity: 0; }
  50% { opacity: 1; }
}
<div class=elementToFadeInAndOut></div>

阅读:Using CSS animations

您可以通过执行以下操作来清理代码:

.elementToFadeInAndOut {
    width:200px;
    height: 200px;
    background: red;
    -webkit-animation: fadeinout 4s linear forwards;
    animation: fadeinout 4s linear forwards;
    opacity: 0;
}

@-webkit-keyframes fadeinout {
  50% { opacity: 1; }
}

@keyframes fadeinout {
  50% { opacity: 1; }
}
<div class=elementToFadeInAndOut></div>

Css相关问答推荐

在COLOR-MIX()中使用var()似乎会使其对于不支持COLOR-MIX()的浏览器具有可读性,从而阻止了回退的工作

Vue3日期 Select 器:禁用向左和向右箭头

如何在Angular material 选项卡中设置自定义圆角下划线的样式

根据现有值计算CSS变量的新值

在R shiny中 Select DT表格值的背景 colored颜色 (无条件的自由 Select )

是否有一个 CSS 可以根据字符的高度 for each 字符呈现可变高度?

在不使用 position: fixed 的情况下从 CSS 网格中的自动布局中免除子元素?

我无法在 next.js 应用程序中传播 daisyui 的主题

CSS中元素的重叠

使用 display:inline-block 渲染多行文本组件,行间有白色间隙

我应该避免使用text-align: justify;吗?

重置子元素的不透明度 - Maple Browser (Samsung TV App)

如何在需要时通过 HTTPS 包含 CSS 和 JS 文件?

悬停效果:展开底部边框

如何对齐标签和文本区域?

Select 标签的占位符

使用 CSS 垂直居中旋转文本

单选按钮和标签显示在同一行

多个和/或嵌套的 bootstrap 容器?

为什么容器 div 坚持比 IMG 或 SVG 内容略大?