我的主要目标是当浏览器shrinks.Theirs我实现样式的方式出现问题时缩小搜索栏,因为它不会缩小。每当我尝试它时,它仍然会出现在页面上。
return (
<div className="Header">
<div>
<Navbar className="page-head container-fluid">
<div className="logo">
<Navbar.Brand href="/" className="text-light">
<i className="fas fa-graduation-cap"></i> Get C's
</Navbar.Brand>
</div>
<Navbar.Toggle
aria-controls="basic-navbar-nav"
className="text-light"
/>
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<NavDropdown
title={this.state.categories}
id="collasible-nav-dropdown"
style={{ marginLeft: "14%" }}
>
<NavDropdown.Item
onClick={() => this.setState({ categories: "All" })}
>
All
</NavDropdown.Item>
<NavDropdown.Divider />
<NavDropdown.Item
onClick={() => this.setState({ categories: "Appliances" })}
>
Appliances
</NavDropdown.Item>
<NavDropdown.Item
onClick={() => this.setState({ categories: "Books" })}
>
Books
</NavDropdown.Item>
<NavDropdown.Item
onClick={() =>
this.setState({ categories: "Clothes&Shoes" })
}
>
Clothing & Shoes
</NavDropdown.Item>
<NavDropdown.Item
onClick={() => this.setState({ categories: "Electronics" })}
>
Electronics
</NavDropdown.Item>
<NavDropdown.Item
onClick={() => this.setState({ categories: "Services" })}
>
Services
</NavDropdown.Item>
</NavDropdown>
<Form
className="page-head search-form "
// inline
// style={{ margin: "auto" }}
onSubmit={this.onSearch}
>
<FormControl
type="text"
placeholder="Search..."
className=" mr-sm-2 search-box"
// style={{ margin: "auto", width: "90%" }}
onChange={e => {
this.setState({ queries: e.target.value });
}}
/>
<Button variant="outline-info search-button" type="submit">
<i className="fas fa-search"></i>
</Button>
</Form>
</Nav>
</Navbar.Collapse>
</Navbar>
</div>
</div>
);
到目前为止我实现的CSS是这样的。我尝试使用flex-grow,但没有任何效果。我最大的问题也是宽度,我似乎不能正确地工作。导航栏没有覆盖浏览器的整个宽度。
:root {
--primary-color: #343a40;
}
/* Reset */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
/* Navbar */
nav {
background-color: var(--primary-color);
color: white;
}
.navbar-light .navbar-nav .nav-link {
color: white;
}
.navbar-light .navbar-nav .nav-link:hover {
color: gray;
}
/* Navbar header */
.page-head {
display: flex;
align-items: center;
}
.log {
flex-shrink: 0;
}
/* Search bar */
.search-form {
margin: 0 1rem;
width: 80rem;
flex-grow: 1;
min-width: 18rem;
}
.search-box {
width: 100%;
padding: 0.4rem;
}
.search-button {
display: flex;
margin: 0;
}
发布于 2020-04-01 05:28:54
看看你的Codesandbox,在Bootstrap没有加载的时候,在为它添加了一个CDN引用之后,导航栏开始工作了。
//您当然可以使用: xs,sm,md,lg,这取决于您希望何时展开导航栏。
现在是可选的,您可以在导航栏和底部的相关div之前使用和跟随,以解决这些标记中的任何错误样式,但这些更改将是可选的更改,具体取决于总体站点/设计要求。
https://stackoverflow.com/questions/60959670
复制相似问题