React导航栏汉堡按钮在xs尺寸屏幕下移问题求助
问题解决方法
问题出在你把<Navbar.Brand>单独放在一个<Container>中,而<Navbar.Toggle>在容器外部——Bootstrap的<Container>默认是块级元素,小屏(xs)下会占满整行宽度,导致汉堡按钮只能换行到Logo下方。
修正后的代码如下:
return ( <Navbar bg="light" expand="md"> <Container> <Navbar.Brand as={Link} to="/"> Logo </Navbar.Brand> <Navbar.Toggle aria-controls="basic-navbar-nav" /> <Navbar.Collapse id="basic-navbar-nav" className="me-5"> <Nav className="ms-auto"> <Nav.Link as={NavLink} to="/">Products</Nav.Link> <Nav.Link as={NavLink} to="">Cart</Nav.Link> </Nav> </Navbar.Collapse> </Container> </Navbar> )
关键改动说明:
- 将
<Navbar.Toggle>移到<Container>内部,和<Navbar.Brand>处于同一层级,借助Bootstrap的flex布局,小屏时两者会横向排列在同一行。 - 保留
<Nav className="ms-auto">,确保大屏(≥md)时导航项依然靠右对齐。 - 把
<Navbar.Collapse>也纳入<Container>中,保证导航栏整体布局的一致性。
这样调整后,小屏状态下汉堡按钮会和Logo在同一行显示,大屏时导航项也能保持靠右的布局。
内容的提问来源于stack exchange,提问作者Don
相关产品推荐
相关产品推荐

