修复了操作栏,考虑了页脚
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修复了操作栏,考虑了页脚相关的知识,希望对你有一定的参考价值。
我一直在尝试使用固定位置在我的网络应用程序上显示“操作栏”。此操作栏将包含与活动表单相关的各种按钮,并且应始终在用户视图的底部可见,使其主要功能易于访问。
使用固定位置,我已经设法让它在一定程度上工作,但它干扰了我的页脚,它总是卡在底部。有没有办法让操作栏位于页脚顶部而不是重叠,而不使用javascript或JQuery来确定何时推动栏。
请参阅提供的代码段:
* {
margin: 0;
color: white;
font-size: 20px;
}
.example-header {
display: block;
width: 100%;
height: 80px;
background-color: red;
}
.example-inner-body {
display: block;
position: relative;
width: 100%;
height: 100vh;
background-color: blue;
}
.example-inner-body span {
position: absolute;
bottom: 0;
left: 0;
}
.action-bar {
position: fixed;
width: 100%;
height: 35px;
background-color: rgba(0,0,0,0.7);
bottom: 0;
left: 0;
right: 0;
}
footer {
display: block;
width: 100%;
height: 40px;
background-color: yellow;
color: black;
}
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div class="example-header">Header</div>
<div class="example-inner-body">iBody
<span> Don't go below me, but feel free to go up!</span>
</div>
<div class="action-bar">Action Bar</div>
<footer>Footer - Do not cover me! </footer>
</body>
</html>
编辑:
使用边距是不够的,因为当滚动下面的白色间隙时(页脚所在的位置)。
答案
在问题评论中使用Morpheus的建议,我将使用position sticky。正如用户所说,它没有得到很好的支持,所以我所做的是先将操作栏设置为relative,然后设置为sticky,这样总会有后退。
* {
margin: 0;
color: white;
font-size: 20px;
}
.example-header {
display: block;
width: 100%;
height: 80px;
background-color: red;
}
.example-inner-body {
display: block;
position: relative;
width: 100%;
height: 100vh;
background-color: blue;
}
.example-inner-body span {
position: absolute;
bottom: 0;
left: 0;
}
.action-bar {
display: block;
position: relative;
position: sticky;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 35px;
background-color: rgba(0,0,0,0.7);
}
footer {
display: block;
width: 100%;
height: 40px;
background-color: yellow;
color: black;
}
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div class="example-header">Header</div>
<div class="example-inner-body">iBody
<span></span>
</div>
<div class="action-bar">Action Bar</div>
<footer>Footer - Do not cover me! </footer>
</body>
</html>
以上是关于修复了操作栏,考虑了页脚的主要内容,如果未能解决你的问题,请参考以下文章
Internet Explorer 打破了页脚,是的,我已经尝试过粘性页脚