css - 相对定位的 div 内的绝对定位淡入淡出图像不起作用

标签 css image position css-position

我尝试将淡入淡出图像添加到页面(代码取自此处:cross fade images 它有效,但由于图像的绝对位置 - img.top 和 img.bottom (css),它出现在文本后面或上面(进入另一个 div:about)。 当我删除绝对位置时,它可以在另一个文本 div 附近 float ,但图片不会很好地交叉淡入淡出,因为它们一个靠近另一个,而不是一个绝对地在另一个上。 所以使用 absolute 可能是必须的,但我需要它相对于其他 div float 而不是进入它们。

有人知道如何解决吗?

<div id="cf">
    <img class="bottom" src="style/images/1.jpg" id="pic1">
    <img class="top" src="style/images/2.jpg" id="pic2">
</div>
<div id="about" class="body_text">
     a lot of text
</div>

and the css:
#cf {
    position:relative;
    float:left;
    margin:0 auto;
    background-color:black;
}
img.top, img.bottom{
    position:absolute;
    width:100px;
    height:100px;
    -webkit-transition: opacity 1s ease-in-out;
    -moz-transition: opacity 1s ease-in-out;
    -o-transition: opacity 1s ease-in-out;
    transition: opacity 1s ease-in-out;
}
@keyframes cf_animation {
    0% {
        opacity:1;
    }
    40% {
        opacity:1;
    }
    60% {
        opacity:0;
    }
    100% {
        opacity:0;
    }
}
#cf img.top {
animation-name: cf_animation;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-duration: 8s;
animation-direction: alternate;
}
#about{
position:relative;
    float:top;
}

最佳答案

我今天遇到了同样的问题,并找到了“解决方案”。试试这个,添加另一个 div 作为一个更大的盒子,并在那里添加相同的图片。然后将此 div 作为相对,并将 'cf' 和 cf img 作为绝对。像这样的东西..我不使用 float 所以我不能保证它会像我一样工作..但希望它能。

<div id="container">
<img class="bottom" src="style/images/1.jpg" id="pic1">
<div id="cf">
<img class="bottom" src="style/images/1.jpg" id="pic1">
<img class="top" src="style/images/2.jpg" id="pic2">
</div>
</div>

<div id="about" class="body_text">
a lot of text
</div>

和 CSS

#container {
position:relative;}

#cf {
position:absolute;
float:left;
margin:0 auto;
background-color:black;}

img.top, img.bottom{
position:absolute;
width:100px;
height:100px;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;}

关于css - 相对定位的 div 内的绝对定位淡入淡出图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378562/

相关文章:

java - 如何将变量传递给内部线程类?

python - 为什么开罗会弄乱我的颜色?

android - 为什么?图片在 Android 手机/模拟器上显示时会被压缩?

html - 我正在尝试在 css 中制作一个标题,在浏览器中拉伸(stretch)全宽

animation - CSS 3 没有缓出的缓出

css - 在同一个样式表中结合 IE6 和 IE7 css hack

javascript - 当脚本运行时,它每秒将 4px 添加到我的容器的高度,只发生在 firefox 中?

javascript - 在 slider 图像前面淡入图像或(信息文本)?

html - 将相对定位的父 div 的高度扩展到绝对定位的子 div 的高度

css - 绝对子 div 留在父级