根据您的要求,需要做的主要事情是:
首先,使用页面的整个宽度
您希望布局填满整个页面,为此您需要覆盖这样的 Foundation 类:
.row {
max-width: 100%;
}
其次,将页脚粘贴到底部,以便为B
和提供滚动条E
。这是一个粘性 CSS,我对其进行了修改以使其与 Foundation 模板一起使用。
html, body, #wrapper{ height: 100%; }
body > #wrapper{height: auto; min-height: 100%;}
#main { padding-bottom: 75px; /* same height as the footer */
overflow:hidden;
top: 75px; bottom: 0; left: 0; right: 0;
padding-bottom: 75px;
position: absolute;
}
#footer {
position: relative;
margin-top: -75px; /* negative value of footer height */
height: 75px;
clear:both;
}
.clearfix:after {content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;}
.clearfix {display: inline-block;}
关键是四个容器 div:wrap、header、main 和 footer。我假设您的标题将具有固定的高度,因为它可以是横幅或菜单,因此您可以在以下代码中添加类(参见第三点)。
第三,让中间的 DIV 拉伸,让它们有滚动条来显示长内容
#header {
height:75px; // your desired height
}
// additional style for the "main" class
#main {
top: 75px; bottom: 0; left: 0; right: 0; // top is the same as header.height
}
// this will create a scroll bar on section B
#main .b {
overflow:auto;
height:100%;
}
// this will create a scroll bar on section E
#main .e {
overflow:auto;
height:100%;
}
请注意,虽然部分B
和E
将响应,因为它们将相互堆叠,但高度将是固定的,我认为您希望这会发生,因为您希望在每个部分上都有一个滚动条。
正如您在评论中提到的那样,我以前的代码不起作用,这是因为如果您在移动设备上查看它,您可以使用的区域很小。设备越小,您拥有的真实状态就越少。你需要做的是决定在什么时候你不想滚动你的主要内容(部分B
和E
)。
让您的用户滚动您网站的某些部分并不是一个好主意。然后让他们很难滚动到其余部分(页面的其余部分),只是让他们在其他部分再次滚动。那是在他们到达页面底部之前。因此,根据该建议,您需要做的是:
@media only screen and (max-width: 768px) {
#main {
padding-bottom: 0;
position:inherit
}
#footer {
margin-top: 0;
}
#main .b {
overflow:auto;
height:auto;
}
#main .e {
overflow:auto;
height:auto;
}
}
在这里查看它的实际应用。您会在那里看到,在较小的设备上,页脚将粘在底部,两个容器堆叠在另一个容器的顶部。在桌面视图中,页脚将贴在底部,如果需要,您将拥有主要内容的滚动条。