三叔2017-06-13 09:25:37
看下我有沒有猜錯你的意思;
<p class="container"> //大容器100%
<p class="wrapper">
<p class="content"></p>//内容区域
<p class="refresh"></p> //小盒子显示的上拉状态
</p> //滚动区域
<p class="scrollBox">
<p class="bar"></p>
</p>//我是滚动条
</p>
<style>
.container{
position:relative;
height:100%;
overflow:hidden;
/*.....*/
}
.wrapper{
position:relative;
height:auto;
/*.....*/
}
.content{
position:relative;
height:auto;
/*....*/
}
.refresh{
position:relative;
float : left;
width:100%;
height:40px;
/*......*/
}
.scrollBox{
position:absolute;
height:100%;
right:0px;
top:0px;
/*因为scrollBox的父元素是container,而且改变的是content,所以这里不会发生改变*/
}
.bar{
position:relative;
height : /*通过js计算并更新*/;
}
</style>
這裡你可以讓wrapper和content的高度一樣,也就是position都為relative,refresh這裡使用float,然後設定好寬高。因為refresh這裡已經脫離了文件流,所以不會影響wrapper的高度,container設定為overflow:hidden。 當你往上拉過頭的時候,refresh會自然而然的上來。不知道這樣行不行。
ringa_lee2017-06-13 09:25:37
最無腦的是用position:absolute實現:
<body style='margin: 0;font-size: 36px;'>
<p id='bigbox' style='position: absolute;width: 100%;height: 100%;background-color: rgba(0,0,0,0.2);'>
<span>大盒子</span>
<p id='smallbox' style='position: absolute;width: 500px;height: 500px;background-color: red;bottom: 0;'>
<span>小盒子</span>
</p>
</p>
</body>
*要注意的是,大盒子也要設定position,小盒子的position才知道是和誰去對比,如果父級節點找不到position它會繼續向上找直到找到有position的DOM節點