"也许已经晚了一年,但我遇到了同样的
问题,并且找不到答案。我发现内联 CSS 对我没有用,所以我不得不定义一个自定义类来进行样式设置。解决您的问题的方法是使用 text-align: center 来对 navbar-brand 或任何其他元素进行样式设置,但是除非您还指定 width: 100%,否则这将无效。请访问我提供的链接以查看我的解决方案。
这是 OP 最后一次编辑后的编辑:
我找到了两种实现您想要的目标的方法。其中一种不太响应式,我不建议使用。
第一种方法:
在 CSS 中删除所有内容,只留下"
.center-navbar {
width:30%;
margin-left: 35%;
}
第二种方法:
删除 css 中的所有内容,而是使用 React Bootstrap 提供的
布局网格。现在,Index.js 中的代码将类似于以下内容:
import React from "react";
import { render } from "react-dom";
import { Navbar, Nav, NavItem, NavDropdown, Glyphicon, Grid, Row, Col } from "react-bootstrap";
import "./index.css";
const App = () => (
<div>
<Grid>
<Row className="show-grid">
<Col xs={4} md={4}>
</Col>
<Col xs={4} md={4}>
<div>
<Navbar collapseOnSelect>
<Navbar.Header>
<Navbar.Brand>Logo</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav>
<NavItem eventKey="a" href="#">
Link1
</NavItem>
<NavItem eventKey="b" href="#">
Link2
</NavItem>
</Nav>
</Navbar.Collapse>
</Navbar>
</div>
</Col>
</Row>
</Grid>
<h2 style={{ textAlign: "center" }}>This is some text</h2>
</div>
);
render(<App />, document.getElementById("root"));
然而,有一个问题。我建议您学习W3C(万维网联盟),了解为什么不建议将标志放在屏幕中央。如果您查看大多数网站(Stackoverflow、亚马逊、eBay等),它们不会在中间使用标志,而是在左侧。这是一种标准,所以没有太多的建议。除非这是您实现想要达到的唯一方式,否则我不建议使用我提供的解决方案。