css - 只有背景图像必须在页面加载时淡入

标签 css html background-image fade

我有一个带有背景图像(箭头)的 div。 div 中有一些文本,箭头位于其下方。我希望 div 内的文本随页面一起加载,但背景图像会在几秒钟后加载。

这是我的代码:

.homearrow {
    background: url(http://www.stefaanoyen.be/wp-content/uploads/2013/03/arrow.png) no-repeat 200px 155px;
    background-size: 125px 125px;
    float: left;
    -webkit-animation: fadein 4s; /* Safari and Chrome */
    -moz-animation: fadein 4s; /* Firefox */
    -ms-animation: fadein 4s; /* Internet Explorer */
    -o-animation: fadein 4s; /* Opera */
    animation: fadein 4s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari and Chrome */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}​

/* Opera */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}​

问题:整个div(文本和背景图像)淡入。有没有办法让背景图像淡入,而不是文本?

谢谢你, 史蒂芬

最佳答案

尝试以下操作

<html>
 <head>

    <style>

        .wrapper {position: relative;  margin: 15px 15px 15px 15px ;}

        .homearrow {
            background: #fff url('arrow.png') 0px 0px no-repeat ;
            background-size: 125px 125px;
            float: left;
            -webkit-animation: fadein 4s; /* Safari and Chrome */
            -moz-animation: fadein 4s; /* Firefox */
            -ms-animation: fadein 4s; /* Internet Explorer */
            -o-animation: fadein 4s; /* Opera */
            animation: fadein 4s;
            height: 125px;
            width: 125px;
            position: absolute;  top: 0px; left: 0px;
        }

        .homearrowtext {position: absolute; top: 10px; left: 10px; }


        @keyframes fadein {
            from { opacity: 0; }
            to   { opacity: 1; }
        }

        /* Firefox */
        @-moz-keyframes fadein {
            from { opacity: 0; }
            to   { opacity: 1; }
        }

        /* Safari and Chrome */
        @-webkit-keyframes fadein {
            from { opacity: 0; }
            to   { opacity: 1; }
        }

        /* Internet Explorer */
        @-ms-keyframes fadein {
            from { opacity: 0; }
            to   { opacity: 1; }
        }​

        /* Opera */
        @-o-keyframes fadein {
            from { opacity: 0; }
            to   { opacity: 1; }
        }​
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="homearrow"></div>
        <p class="homearrowtext">Hello World</p>
    </div>
</body>

我已将文本放在 div 外部,应用了相对于包含的 div 的位置和文本的绝对位置。我还给了图像 div 一些宽度和高度。

希望这有帮助。

关于css - 只有背景图像必须在页面加载时淡入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20217313/

相关文章:

javascript - 从特定样式表中识别特定 HTML 页面中使用的所有 css ID 和类?

jsf-2 - background-image: url ("") 在 CSS h:outputStylesheet 没有加载

html - 使用 CSS background-image 删除 <img> 上的边框并将其向下移动一点

html - 更改边框颜色并删除框阴影

javascript - 占位符不显示

html - CSS/html 位置 :sticky doesn't work for me

html - 使用 CSS 屏蔽图像

html - 4 列全 Angular 链接部分

css - 空白 : nowrap vs white-space: normal why is the effect on floating elements so big?

css - 识别元素 css