我正在尝试创建一个react-bootstrap
带有下拉菜单的导航栏,该菜单在导航栏折叠时保持显示。换句话说,basic-nav-dropdown
不隐藏喜欢home
和link
下面。我已经通过以下方法完成了此操作,但是当导航栏折叠时,下拉列表存在问题。
<Navbar bg="light" expand="lg">
<Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
<Nav className="mr-auto">
<NavDropdown title="Dropdown" id="basic-nav-dropdown">
<NavDropdown.Item href="#action/3.1">Action</NavDropdown.Item>
<NavDropdown.Item href="#action/3.2">Another action</NavDropdown.Item>
<NavDropdown.Item href="#action/3.3">Something</NavDropdown.Item>
<NavDropdown.Divider />
<NavDropdown.Item href="#action/3.4">Separated link</NavDropdown.Item>
</NavDropdown>
</Nav>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link href="#home">Home</Nav.Link>
<Nav.Link href="#link">Link</Nav.Link>
</Nav>
<Form inline>
<FormControl type="text" placeholder="Search" className="mr-sm-2" />
<Button variant="outline-success">Search</Button>
</Form>
</Navbar.Collapse>
</Navbar>
这是打开下拉菜单并展开导航栏时的样子。下拉菜单在导航栏下方显示结果,结果不会影响导航栏的呈现。这是预期的。
这是打开下拉菜单并且折叠导航栏时发生的情况。下拉菜单不会低于导航栏,而是扩展导航栏。我希望下拉菜单的行为与导航栏展开时的行为相同。
有没有办法让导航栏下拉菜单在折叠的导航栏下方展开?
我也尝试删除<Nav className="mr-auto/>
周围<NavDropDown>
,虽然这确实解决了问题,但它引入了新问题,因为 navdropdown 链接的格式与home
and 不同link
,并且还与中心对齐,而不是像以前那样向左对齐。
这是默认行为react-bootstrap
,当Navbar
iscollapsed
和 contains时,Dropdown
它只会在Navbar
以下情况下扩展CSS
,
.navbar-nav .dropdown-menu {
position: static;
float: none;
}
您只需更改CSS
即可获得所需的输出,
.navbar-nav .dropdown-menu {
position: absolute;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句