导航项的对齐方式分为 React-Bootstrap
Alignment of Nav items divided in React-Bootstrap
我使用 react-bootstrap
实现了 NavBar 我的问题是导航项的对齐。
在搜索 including this one 后,我申请了回答它的解决方案。但是,我没有为我的案例找到合适的答案。正如您在下图中看到的那样,除了标题之外,我打算将其他项目使用 ml-auto 在右侧对齐,但它无法正常工作。你有办法解决这个问题吗?
import React from "react";
import { Nav, Navbar, NavDropdown } from "react-bootstrap";
const NavBarTest = () => {
return (
<>
<Navbar collapseOnSelect expand="sm">
<Navbar.Brand href="#">Title</Navbar.Brand>
<Navbar.Toggle aria-controls="responsive-navbar-nav" />
<Navbar.Collapse id="responsive-navbar-nav">
<Nav className="ml-auto" light="true">
<NavDropdown title="Content A" id="nav-dropdown1">
<NavDropdown.Item href="#">content a</NavDropdown.Item>
</NavDropdown>
<NavDropdown title=" Content B" id="nav-dropdown2">
<NavDropdown.Item href="#">content b-1</NavDropdown.Item>
<NavDropdown.Item href="#">content b-2</NavDropdown.Item>
</NavDropdown>
<NavDropdown title=" Content C" id="nav-dropdown3">
<NavDropdown.Item href="#">content c-1</NavDropdown.Item>
<NavDropdown.Item href="#">content c-2</NavDropdown.Item>
</NavDropdown>
<NavDropdown title="Content D" id="nav-dropdown1"></NavDropdown>
<NavDropdown title="Content E" id="nav-dropdown1">
<NavDropdown.Item href="#">content e</NavDropdown.Item>
</NavDropdown>
<Nav.Item>
<Nav.Link href="#">Content F</Nav.Link>
</Nav.Item>
</Nav>
</Navbar.Collapse>
</Navbar>
</>
);
};
export default NavBarTest;
import "./App.css";
import React from "react";
import { Switch, BrowserRouter, Redirect, Route } from "react-router-dom";
import NavBarTest from "./layout/NavBarTest";
function App() {
return (
<div
className="row ml-auto mr-auto"
style={{
width: "80%",
alignItems: "center",
}}
>
<BrowserRouter>
<NavBarTest/>
<Footer />
</BrowserRouter>
</div>
);
}
export default App;
下面是导航栏右对齐的例子,希望对你有所帮助。
https://codesandbox.io/s/react-bootstrap-hamburger-menu-example-forked-t6xo5?file=/src/App.js
查代码发现App.jsx
的样式影响了导航区的布局。把app.js的样式去掉'row'class后,看起来还不错
import "./App.css";
import React from "react";
import { Switch, BrowserRouter, Redirect, Route } from "react-router-dom";
import NavBarTest from "./layout/NavBarTest";
function App() {
return (
<div
className="ml-auto mr-auto"
style={{
width: "80%",
alignItems: "center",
}}
>
<BrowserRouter>
<NavBarTest/>
<Footer />
</BrowserRouter>
</div>
);
}
export default App;
我使用 react-bootstrap
实现了 NavBar 我的问题是导航项的对齐。
在搜索
import React from "react";
import { Nav, Navbar, NavDropdown } from "react-bootstrap";
const NavBarTest = () => {
return (
<>
<Navbar collapseOnSelect expand="sm">
<Navbar.Brand href="#">Title</Navbar.Brand>
<Navbar.Toggle aria-controls="responsive-navbar-nav" />
<Navbar.Collapse id="responsive-navbar-nav">
<Nav className="ml-auto" light="true">
<NavDropdown title="Content A" id="nav-dropdown1">
<NavDropdown.Item href="#">content a</NavDropdown.Item>
</NavDropdown>
<NavDropdown title=" Content B" id="nav-dropdown2">
<NavDropdown.Item href="#">content b-1</NavDropdown.Item>
<NavDropdown.Item href="#">content b-2</NavDropdown.Item>
</NavDropdown>
<NavDropdown title=" Content C" id="nav-dropdown3">
<NavDropdown.Item href="#">content c-1</NavDropdown.Item>
<NavDropdown.Item href="#">content c-2</NavDropdown.Item>
</NavDropdown>
<NavDropdown title="Content D" id="nav-dropdown1"></NavDropdown>
<NavDropdown title="Content E" id="nav-dropdown1">
<NavDropdown.Item href="#">content e</NavDropdown.Item>
</NavDropdown>
<Nav.Item>
<Nav.Link href="#">Content F</Nav.Link>
</Nav.Item>
</Nav>
</Navbar.Collapse>
</Navbar>
</>
);
};
export default NavBarTest;
import "./App.css";
import React from "react";
import { Switch, BrowserRouter, Redirect, Route } from "react-router-dom";
import NavBarTest from "./layout/NavBarTest";
function App() {
return (
<div
className="row ml-auto mr-auto"
style={{
width: "80%",
alignItems: "center",
}}
>
<BrowserRouter>
<NavBarTest/>
<Footer />
</BrowserRouter>
</div>
);
}
export default App;
下面是导航栏右对齐的例子,希望对你有所帮助。 https://codesandbox.io/s/react-bootstrap-hamburger-menu-example-forked-t6xo5?file=/src/App.js
查代码发现App.jsx
的样式影响了导航区的布局。把app.js的样式去掉'row'class后,看起来还不错
import "./App.css";
import React from "react";
import { Switch, BrowserRouter, Redirect, Route } from "react-router-dom";
import NavBarTest from "./layout/NavBarTest";
function App() {
return (
<div
className="ml-auto mr-auto"
style={{
width: "80%",
alignItems: "center",
}}
>
<BrowserRouter>
<NavBarTest/>
<Footer />
</BrowserRouter>
</div>
);
}
export default App;