将div垂直向下滑入视图

时间:2014-10-01 15:47:42

标签: jquery css

这篇文章有两个目标;一个有一个工具提示div向下滑动,好像它在父母的顶部“下面”,其次,理想情况下,无论工具尖端的高度如何都要工作 - 即工具尖端的底部总是排成一行父div的上边缘。

http://jsfiddle.net/sfullman/y1on62pd/

html如下:

<div class="container1">
    state 1<br>this is the main content
    <div id="i1" class="tooltip">this is the tool section</div>
</div>
<div class="container1">
    state 2<br>this is the main content
    <div id="i2" class="tooltip">this is the tool section slid down</div>
</div>

和css如下:

body{
    font-family:Arial;
}
.container1{
    box-sizing:border-box;
    border:1px solid black;
    width:450px;
    min-height:300px;
    position:relative;
    padding:10px;
    margin:25px auto;
}
.tooltip{
    position:absolute;
    box-sizing:border-box;
    right:50px;
    width:150px;
    height:100px;
    border:1px solid gray;
    padding:10px;
}
#i1{
    top:-100px;
}
#i2{
    top:0px;
}

2 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,使用overflow:hidden非常简单。可能溢出-y会更好,因此宽元素仍会导致滚动条。

http://jsfiddle.net/sfullman/y1on62pd/1/

如果工具尖端div具有不确定的高度,仍然存在一个问题,即如何将刀尖div的BOTTOM边缘与父级的TOP边缘对齐。我在这里发布了CSS,因为它与我原来的最相关和不同:

body{
    font-family:Arial;
}
.container1{
    box-sizing:border-box;
    border:1px solid black;
    width:450px;
    min-height:300px;
    position:relative;
    z-index:2;
    overflow:hidden;
    padding:10px;
    margin:25px auto;
}
.tooltip{
    position:absolute;
    z-index:1;
    box-sizing:border-box;
    right:50px;
    width:150px;
    height:100px;
    border:1px solid gray;
    padding:10px;
    background-color:rgba(255,255,255,0.75);
}
#i1{
    top:-100px;
}
#i2{
    top:0px;
}

答案 1 :(得分:-1)

您将要使用CSS过渡。

-moz-transition: all 0.2s ease-out;  
-o-transition: all 0.2s ease-out; 
-webkit-transition: all 0.2s ease-out; 
transition: all 0.2s ease-out;

我还添加了一个工具提示容器类来处理您的样式,并允许工具提示的高度为0。

这应该适合你: http://jsfiddle.net/3z3s7tLf/