【问题标题】:Re-position logo and burger menu on collapsed navbar with react-bootstrap使用 react-bootstrap 在折叠的导航栏上重新定位徽标和汉堡菜单
【发布时间】:2020-01-15 12:02:41
【问题描述】:

使用 react-bootstrap 我在左侧有一个徽标,在右侧有菜单项。 折叠时汉堡菜单按预期出现在右侧。

我正在尝试重新定位折叠时的项目,并让 汉堡菜单位于左侧徽标位于中心

这个问题似乎很合适:Re-positioning items on navbar collapse in Bootstrap 但是我无法复制效果,因为我使用的是 react-bootstrap 并且语法非常不同。

这是我的代码:

import React, { Component } from 'react';
import { Navbar, Nav, Container  } from 'react-bootstrap';
import { Link } from 'react-router-dom';
import logo from '../assets/WT_JustLogo_White.png';
import './CustomNavbar.scss';

class CustomNavbar extends Component {
 render() {
   return (
     <Navbar sticky="top" expand="lg" bg="dark" variant="dark">
       <Container>
         <Navbar.Brand>
           <Link to="/">
             <img src={logo}
               className="Nav-logo"
               alt="logo"
             />
           </Link>
         </Navbar.Brand>
         <Navbar.Toggle aria-controls="responsive-navbar-nav" />
         <Navbar.Collapse id="responsive-navbar-nav">
           <Nav className="ml-auto">
             <Nav.Item>
               <Nav.Link className="menuLink" eventKey={1}>
                 <Link className="text-light menuText" to="/">HOME</Link>
             </Nav.Link>  
             </Nav.Item>
             <Nav.Item>
               <Nav.Link className="menuLink" eventKey={3}>
                 <Link className="text-light menuText" to="/About">ABOUT</Link>
             </Nav.Link>  
             </Nav.Item>
             <Nav.Item>
               <Nav.Link className="menuLink" eventKey={4}>
                 <Link className="text-light menuText" to="/Contact">CONTACT</Link>
             </Nav.Link>  
             </Nav.Item>
           </Nav>
         </Navbar.Collapse>
       </Container>
     </Navbar>
   );
 }
}

export default CustomNavbar;

【问题讨论】:

    标签: reactjs bootstrap-4 react-bootstrap


    【解决方案1】:

    使用这样的顺序: 使用 mx-auto 将 order-1 添加到品牌:

        <Navbar.Brand href="#home" className="order-md-0 mx-auto order-1">React-Bootstrap</Navbar.Brand>
    

    将 order-0 添加到导航折叠:

        <Navbar.Toggle aria-controls="-navbar-nav"  className="order-md-1 order-0"/>
    

    【讨论】:

    • 这很好用,但增加了一个中间步骤,汉堡菜单首先出现在右侧,然后在较小的屏幕上移动到左侧。我将徽标和切换按钮上的“order-md”更改为“order-lg”,它起作用了。谢谢!
    • 测试它,我只是注意到订购项目有一个缺点:扩展菜单时,标志被推下。当菜单展开时,我可以让徽标留在页面顶部或完全覆盖徽标吗?
    • 是的,如果您可以看到折叠将显示从无更改为阻止,这是正常的
    猜你喜欢
    • 2017-02-11
    • 2017-06-20
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 2021-06-21
    • 2015-08-25
    相关资源
    最近更新 更多