html - CSS:侧边栏不会出现在父元素内

标签 html css

我正在尝试将两个侧边栏添加到中间元素的两个边缘。左边的没有问题,但是右边的不行。相反,它出现在其父元素下方(如图所示),除非我将其定位为绝对元素,然后它会越过导航栏。

相关CSS:

/* The parent element */
main {
    margin: 0;
    position: relative;
    left: 22%;
    right: 22%;
    width: 56%;
    height: 50vh;
    background-color: #c5c5c5;
}

/* The correctly shown sidebar */
.sidenav {
    margin: 0;
    height: 100%;
    width: 160px;
    top: 7%;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    padding-top: 7%;
}

/* The wrongly shown sidebar */
.bar-right{
    float: right;
    margin: 0;
    width: 200px;
    height: 100%;
    background-color: #111;
    overflow-x: hidden;
    padding-top: 7%;
}

HTML:

  <main>
    <div class="topbar">
      [top bar stuff]
    </div>
    <div class="sidenav">
      <a href="[url]" class="userheader">[usernamestuff]</a>
      <a href="[url]">Link1</a>
      <a href="[url]">Link2</a>
      <a href="[url]">Link3</a>
    </div>
    <div class="bar-right">
      <p>text for test</p>
    </div>
  </main>

两个侧边栏实际上是相同的,所以我不明白为什么它们的行为如此不同。如何让它们都到达主要元素的适当边缘?

website

最佳答案

我建议您使用 Bootstrap .这将帮助您通过以下代码轻松实现您的目标:

<div class="container">
   <div class="row">
      <div class="col-sm-3">
      // First sidebar
      </div>
      <div class="col-offset-6 col-sm-3">
      // Second sidebar
      </div>
   </div>
</div>

关于html - CSS:侧边栏不会出现在父元素内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48964067/

相关文章:

javascript - 如何使用 JavaScript 或 jQuery 将视频静音?

javascript - 如何通过 JavaScript 在 <select> 中获取当前选中的 <option>?

css - 以导航为中心的响应式 Logo

html - 保持等边距 CSS 的最佳方式

javascript - 如何用javascript向服务器发送数据

html - CSS 仅适用于网站的第一列

javascript - 固定列表定位

html - 当您缩小浏览器时,页眉的背景图片不会占据全宽

positioning - 调整浏览器大小时的CSS位置

html - 子 ul 的 Css 垂直显示内联到主 ul