2012-09-29 90 views
0

我想在div中有一些图像。只应显示一个图像。我用:位置:绝对和溢出:隐藏?

<div id="slideshow" style="width:600px;height:400px;position:absolute;overflow:hidden;"></div> 
<img src="img3.png" width="600px" height="400px" id="img3" style="position:absolute;left:0px;"> 
<img src="img2.png" width="600px" height="400px" id="img2" style="position:absolute;left:600px;"> 
<img src="img1.png" width="600px" height="400px" id="img1"  style="position:absolute;left:1200px;"> 
</div> 

但图像溢出从div和可见。我该如何解决?

+2

不是我知道你在css中选择的原因,但你为什么不漂浮这些图像,而不是让它们绝对定位? –

+0

我该怎么做? (对不起,我是一个完整的初学者) – msbg

+1

您的内联宽度和高度声明不仅具有无效值,而且不鼓励。始终可用时使用CSS。并尽量避免像这样内联。样式表定义会更好。也许我应该将其转换为答案... –

回答

2

让我们通过固定的标记开始......

<style> 
#slideshow{ 
    width:600px; 
    height:400px; 
    position:absolute; 
    overflow:hidden; 
} 

#slideshow img{ 
    width:600px; 
    height:400px; 
    float:left; 
} 
</style> 

<div id="slideshow"> 
    <img src="img3.png" id="img3"> 
    <img src="img2.png" id="img2"> 
    <img src="img1.png" id="img1"> 
</div> 

所以原因是因为你定义的位置是:绝对的家长和孩子们都。你可以用相对定位的div来包装图片标签。这会将绝对位置重置到相对定位父对象的左上角。

但是,在这种情况下,您所需要做的只是向左浮动。没有理由在幻灯片放映元素中放置绝对定位的孩子。