html - 粘性页脚无法与侧边栏一起正常工作

标签 html css css-selectors

我想要一个 CSS 侧边栏和一个粘性页脚。当侧边栏滑出时,页面的其余部分应缩小以适应较小的空间。

我的问题是,当我打开菜单时,粘性页脚会向一侧滑动。但它也需要缩小,但事实并非如此。它应该像其他内容一样水平放置在页面上,但事实并非如此。这会导致出现我不想要的水平滚动条。

我应该如何缩小页脚?

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
footer {
  bottom: 0;
  margin-left: inherit;
  height: 100px;
  left: 0;
  width: 100%;
  position: absolute;
  background-color: lightgrey;
}
ul {
  margin-left: 0;
  padding-left: 0;
}
.footer-img {
  margin-top: 15px;
  margin-bottom: 15px;
  display: inline-block;
}
.page-wrap {
  box-sizing: border-box;
  min-height: 100%;
  position: relative;
  transition-duration: 0.4s;
}
.page-content {
  box-sizing: border-box;
  min-height: 100%;
  padding: 0 0 100px 0;
  transition-duration: 0.4s;
}
.sidebar {
  position: fixed;
  top: 0;
  left: -180px;
  right: 0;
  bottom: 0;
  width: 120px;
  padding: 30px;
  background-color: black;
  z-index: 0;
  transition-duration: 0.4s;
}
.sidebar li {
  color: white;
  font-size: 18px;
  margin-bottom: 15px;
}
.toggle {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 1;
  color: white;
  transition-duration: 0.4s;
}
#sidebartoggler {
  display: none;
}
#sidebartoggler:checked + .page-wrap .sidebar {
  left: 0;
}
#sidebartoggler:checked + .page-wrap .toggle {
  left: 200px;
}
#sidebartoggler:checked + .page-wrap .page-content {
  margin-left: 180px;
}
<!doctype html>
<html lang="en">

<body>

  <input type="checkbox" id="sidebartoggler" name="" value="">
  <div class="page-wrap">

    <div class="page-content">
      <label for="sidebartoggler">MENU</label>
      <p>Lorizzle ipsizzle dolor i'm in the shizzle amizzle, away adipiscing elit. Owned sapizzle velizzle, hizzle volutpat, suscipit quizzle, gravida vel, go to hizzle. We gonna chung check it out tortor. Sed bow wow wow. Dang sure dolizzle dapibizzle turpizzle
        tempizzle fo shizzle. pellentesque break yo neck, yall et turpizzle. Fizzle izzle tortor. Pellentesque nizzle rhoncizzle crazy. In yippiyo crackalackin bling bling dictumst. Bizzle dapibizzle. Curabitur da bomb urna, pretizzle shizzlin dizzle,
        gangsta ac, eleifend vitae, nunc. Funky fresh suscipizzle. Integer semper fo shizzle uhuh ... yih! get down get down. Etizzle get down get down get down get down fo shizzle nisl. Own yo' quizzle dope. Shiz check out this, ipsizzle i'm in the shizzle
        malesuada scelerisque, nulla shiznit euismod felis, izzle break yo neck, yall metizzle nulla izzle mah nizzle. Vivamus ullamcorper, tortor et rizzle tellivizzle, nibh ass ultricizzle dawg, izzle luctus check it out elit izzle pimpin'. Maurizzle
        bow wow wow, orci mammasay mammasa mamma oo sa volutpizzle ass, gizzle shit we gonna chung fizzle, at bibendizzle enizzle that's the shizzle funky fresh nisl. Nullizzle fizzle velizzle pizzle orci uhuh ... yih!</p>
      <footer>Yeah, footer!</footer>
    </div>
    <div class="sidebar">
      <ul>
        <li>home</li>
        <li>projects</li>
        <li>cool</li>
      </ul>
    </div>
  </div>

</body>

</html>

最佳答案

您可以从 footer 中删除 width 并添加 right: 0

footer {
    bottom: 0;
    margin-left: inherit;
    height: 100px;
    left: 0;
    position: absolute;
    background-color: lightgrey;
    right: 0;
}

关于html - 粘性页脚无法与侧边栏一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41245036/

相关文章:

html - 如何将复杂的 html block 附加到 for 循环

javascript - jQuery UI 覆盖重复修复 "Auto"尺寸

javascript - 使包装器 div 围绕动态响应图像收缩

Javascript |网页 |饼图状态

html - : codes for CSS有哪些

css - 选择没有 child 的元素

html - &lt;iframe&gt; 中的 srcdoc ="..."和 src ="data:text/html,..."有什么区别?

javascript - 从选定的链接中删除超链接

html - JQuery: 'Uncaught TypeError: Illegal invocation' 在 ajax 请求 - 几个元素

selenium - 在 selenium 中找到具有特定子 css 选择器的元素的以下同级元素