在页面加载时将不透明度淡入动画应用于背景图像

马特·威尔逊

我想让背景图像从不可见的不透明度淡入到 50% 的不透明度,并留在那里。

这里有一个类似的问题,但我根本没有跟进,似乎很复杂。也许它会帮助解决我类似问题的人。

我只想在可能的情况下使用 CSS,而不是 JS。这就是我到目前为止所拥有的style.css

body {
    background-image: url("img/me.png");
    background-color: #cccccc;
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: fixed;
    animation: fadeInBG 5s; 
}

@keyframes fadeInBG {
    0% { opacity: 0.0; }
    100% { opacity: 0.5; }
}

您需要将图像 url 更改为其他内容以进行测试。现在,它将动画应用到整个页面正文(包括页面上的任何文本),根本不接触背景,背景始终是 100%,没有动画。我在我的 html 文件中的简单文本只是说:

<h1> Hello world! </h1>

...确实会制作动画。如何仅将动画逻辑定向到背景图像?我希望你可以指定body.background-image而不是,body它会得到解决。

我注意到的另一件事是,一旦动画完成,文本“跳跃”到 100% 的不透明度,它不会像我上面设置的那样保持在 50%。如何解决?

tszhong0411

只需在您的 CSS 代码中添加以下代码。

body {
    animation-fill-mode: forwards;
}

有用的链接:https ://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode

另外,我建议你添加一个 div 来实现它。

.bg-img {
    background-image: url("https://media.istockphoto.com/photos/ginger-cat-portrait-picture-id1290233518?b=1&k=20&m=1290233518&s=170667a&w=0&h=C-eVqPpxcxCFqJsykl4rTzq0Kl995ZHCaLB9BgSgEzk=");
    background-color: #cccccc;
    background-repeat: no-repeat;
    background-position: top;
    background-attachment: fixed;
    animation: fadeInBG 5s;
    /* add */
    animation-fill-mode: forwards;
    position: fixed;
    inset: 0;
    z-index: -1;
}

@keyframes fadeInBG {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 0.5;
    }
}
<h1> Hello world! </h1>
<div class="bg-img"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将不透明度应用于CSS颜色变量?

可以将不透明度应用于系统定义的画笔吗?

将不透明度应用于背景图像,但不应用于文本

如何更改背景图像的不透明度?

延迟背景颜色的不透明度,直到加载背景图像

将不透明度应用于元素时,为什么我的文本不可见?

将有色不透明度应用于SVG图像

如何使用CSS为div的背景图像设置不透明度或降低亮度

带旋转,重复和不透明度的CSS背景图像

是否可以在xaringan幻灯片中调整背景图像的不透明度?

在SwiftUI中将不透明度应用于ZStack

使用CSS3将不透明度应用于嵌套列表项以实现淡入淡出效果

背景图像不透明度问题

画布-图像不透明度循环(淡入)

根据页面宽度更改背景图像的不透明度

如何仅在背景图像上而不在内部文本上应用div不透明度

为什么将不透明度应用于选择而不应用于选项?

背景图像的不透明度和灰度滤镜。使它黑白透明

在悬停时将不透明度应用于img

如何更改正文标签背景图像的不透明度

带有小 JS 脚本的背景图像不透明度不适用于 iOS

尝试使用 css 为背景图像添加不透明度

添加新 div 时背景图像不透明度增加

使用js更改背景图像不透明度而不影响前景图像

如何在 React 框架中将不透明度应用于 Google Maps 之上的 KML 层?

无法在我的背景图像上使用不透明度

在 angular 和 scss 中悬停时更改背景图像的不透明度

如何使用 CSS 提供整页背景图像并控制其不透明度?

如何结合背景图像中的线性渐变,悬停时的不透明度和文本颜色变化?