具有悬停图像的可滚动div(溢出:隐藏)

时间:2012-07-23 20:29:05

标签: javascript css hover overflow

我有一个带溢出的div:auto和里面的一个表。 div根据需要创建垂直滚动条。但是,我想为每一行预览悬停状态。这意味着这个悬停状态Div必须超出包含div的边界。我如何设置溢出已经设置隐藏我的内容... z-index不会让我逃脱父母。

3 个答案:

答案 0 :(得分:0)

由于它是垂直滚动条,因此您可以设置为overflow-y:滚动而不是水平设置溢出。然后确保您的图像只离开水平边界(而不是垂直边界)。

下次,创建一个小提琴:http://jsfiddle.net/,我们可以更快地帮助你:)

答案 1 :(得分:0)

使用position:absolute;并将z-index设置为您希望溢出其容器的div的可见值。

答案 2 :(得分:0)

我最近解决了类似的问题,这应该可以帮到你:

https://stackoverflow.com/a/13383906/1063287

也可以在这里看到相关的jsfiddle:

http://jsfiddle.net/rwone/eeaAr/

<强> HTML

<div id="wrapper">
<div id ="hbar_one"></div>
<div id="hbar_two"></div>
<div id="container_a">
<div id="container_b">
<div class="class1 class2 magic" data-unique-content=".hidden_db_data_div">
<img src="http://lorempixel.com/g/50/50/">
<div class="hidden_db_data_div">
some amazing html
</div>
</div>
<div class="class1 class2 magic" data-unique-content=".hidden_db_data_div">
<img src="http://lorempixel.com/g/50/50/">
<div class="hidden_db_data_div">
more amazing html
</div>
</div>
<div class="class1 class2 magic" data-unique-content=".hidden_db_data_div">
<img src="http://lorempixel.com/g/50/50/">
<div class="hidden_db_data_div">
even more amazing html
</div>
</div>
</div>
</div>
<div id="hbar_three"></div>
<div id="hbar_four"></div>
</div>

<强> CSS

#wrapper {
width: 300px;   
}
#hbar_one {
background: #cc0000;   
height: 50px;
}

#hbar_two {
background: #ffcc00;   
height: 50px;
}

#container_b {
height: 100px;
overflow-y: auto;
}

.hidden_db_data_div {
display: none;
background: #00AFF0;
width: 120px;
height: 150px;
color: red;
position:absolute;
overflow: hidden; 
z-index: 999;  
}

img {
width: 50px;
height: 50px;
}

.magic {
display: inline;
}

#container_a { position:relative; }

#hbar_three {
background: #cccccc;   
height: 50px;
}

#hbar_four {
background: #000000;   
height: 50px;
}

<强>脚本

$(".magic").hover(
function () {
$(this)
.find('.hidden_db_data_div')
.css({'left':$(this).position().left+20 + "px", 'top':'-20px'})
.fadeIn(200);
},
function() { 
$(this)
.find('.hidden_db_data_div')
.fadeOut(100);
}                
);