修复了操作栏,考虑了页脚

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 打破了页脚,是的,我已经尝试过粘性页脚

在 Chrome Inspect 期间修复了 html 布局之外的页脚踢

excel中自定义了页脚,又想加一个页数和总页数怎么设置?

引导页脚输入组未拉伸以适合页面

页脚与网站内容重叠

更改jQuery Mobile页脚按钮的高度