我正在建立一个网站,但我在使用 div 的滚动条时遇到了一些问题。我有一个固定的页眉和页脚,中间的 div 必须保持在页眉和页脚之间。如果溢出,将出现一个滚动条。
我正在尝试的类似于如何在具有固定页眉和页脚的 div 中获取滚动条?
但我不能让它正常工作。
我正在尝试的 JS 小提琴
我可以通过给予使其工作,body{height: 84%;}
但在不同的浏览器中会有所不同。
我正在建立一个网站,但我在使用 div 的滚动条时遇到了一些问题。我有一个固定的页眉和页脚,中间的 div 必须保持在页眉和页脚之间。如果溢出,将出现一个滚动条。
我正在尝试的类似于如何在具有固定页眉和页脚的 div 中获取滚动条?
但我不能让它正常工作。
我可以通过给予使其工作,body{height: 84%;}
但在不同的浏览器中会有所不同。
编辑:
现在 jsfiddle 又回来了……
这是您想要的更新小提琴
以下是必要的主要更改:
div[role="main"]
{
height: 100%;
background: pink;
margin: -70px 0 -30px;
padding: 70px 0 30px;
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #4CD3BF;
}
内容不多:CODEPEN1
内容丰富: CODEPEN2
<div class="container">
<header></header>
<div class="content"></div>
<footer></footer>
</div>
/* 假设页眉和页脚高度为 64px */
.container
{
height: 100%;
background: pink;
margin: -64px 0;
padding: 64px 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.content {
overflow:auto;
height:100%;
}
header
{
height: 64px;
background: purple;
position: relative;
z-index:1;
}
footer
{
height: 64px;
background: gray;
position: relative;
z-index:1;
}
这个问题有不止1个答案。最简单的方法是将主要内容(因此没有页眉和页脚)包装在绝对定位的 div 中。将 div 设置为页眉的底部,将底部设置为页脚的顶部,例如
小提琴:http: //jsbin.com/onipiq/2/edit
CSS:
body{
margin: 0;
padding: 0;
}
header{
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100px;
background: #eee;
}
footer{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 100px;
background: #eee;
}
.contentContainer{
position: absolute;
width: 100%;
top: 100px;
bottom: 100px;
overflow-y: scroll;
}
.content{
position: relative;
width: 960px;
margin: 0 auto;
}
请注意,此示例不会在大多数触摸设备上滚动,但可以在桌面上正常工作。