【问题标题】:How to fix bootstrap navbar to top with sidebar如何使用侧边栏将引导导航栏修复到顶部
【发布时间】:2020-12-06 07:45:27
【问题描述】:

我正在开发一个页面,其中既有sidebar 也有navbar 我必须将导航栏固定到顶部,以便获得更好的用户体验。

问题

但是当我使用内置的fixed-top 引导类时,它会覆盖侧边栏,我的navbar 在侧边栏的宽度之后开始,

所以我只想把它固定在顶部,这样滚动变得更容易

我的导航栏代码

<div>
        <Navbar collapseOnSelect expand="lg" className="py-3 navbar_style">
            <Navbar.Toggle aria-controls="responsive-navbar-nav" />
            <Navbar.Collapse id="responsive-navbar-nav">
                <Nav className="mr-auto"></Nav>
                <Nav>
                    <Nav.Link href="#deets">Logout</Nav.Link>
                </Nav>
            </Navbar.Collapse>
        </Navbar>
    </div>

侧边栏 CSS

.sidebar {
height: 100%;
width: 100px;
position: fixed;
top: 0;
left: 0;
transition: all 0.6s;
background: #ffffff 0% 0% no-repeat padding-box;
box-shadow: 0px 3px 6px #00000029;
opacity: 1;

}

Working code Sandbox

我已经在沙箱中编写了最少的代码,我只想将导航栏固定到顶部而不覆盖我的侧边栏,请检查代码沙箱

【问题讨论】:

  • 所以您想将导航栏固定在屏幕顶部,但在侧边栏下方?我是否正确理解您的问题?为什么不能只做 position: fixed, zIndex: 0?
  • 这能回答你的问题吗? z-index not working with fixed positioning

标签: html css reactjs bootstrap-4


【解决方案1】:
Navbar{
  z-index: 1000;
}
.sidebar {
  z-index: 500;
}

它会正常工作的。

【讨论】:

    【解决方案2】:

    除非我误解了你的问题,否则应该这样做:

    .navbar_style{
      z-index: 0;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
    }
    

    【讨论】:

    • nop 它覆盖了侧边栏,你可以检查代码
    • 我不明白您所说的“覆盖侧边栏”是什么意思。您希望导航栏位于侧边栏下方还是上方?
    • 如果你想要它在侧边栏下方然后将 z 索引更改为 0 @manish
    【解决方案3】:

    如果我理解正确,标题导航的位置与侧边栏导航重叠 - 这是因为这两个项目都是 fixed。将fixed-top 添加到导航栏后,您需要在侧边栏上使用margin-top 来添加缓冲区并将侧边栏向下推。示例;

    .sidebar {
        height: 100%;
        width: 233px;
        position: fixed;
        z-index: 500;
        top: 0;
        left: 0;
        transition: all 0.6s;
        background: rgb(167, 144, 144);
        box-shadow: 0px 3px 6px #e0cccc29;
        opacity: 1;
        margin-top: 72px; /**<--add this**/
    }
    

    您必须将其调整为顶部导航栏的大小。使用检查我可以看到它是72px,所以我将侧边栏的margin-top 设置为相等。

    【讨论】:

      【解决方案4】:

      改变位置

      position:sticky侧边栏

      .sidebar {
       position: sticky;
      }
      

      position:fixednavbar_style

      .navbar_style {
        position: fixed;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-07-06
        • 2020-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 2017-06-09
        • 1970-01-01
        • 2014-05-15
        相关资源
        最近更新 更多