Я пытаюсь выровнять и изменить размер реагирующего компонента под Navbar
, используя react-bootstrap v0.33.1
. Я хочу, чтобы карта имела полную ширину компонента Navbar
и была выровнена по центру под ним. Однако независимо от того, как я размещаю компонент, он будет выполнять одно из следующих действий:
- Если я использую компоненты
<Grid>
и <Col>
для обертывания компонента <Map>
, тогда карта находится слишком далеко вправо.
export default function Map() {
return (
<Grid>
<Col md={12}>
<MapContainer />
</Col>
</Grid>
);
}
- Если я удалю компонент
<Grid> and
then I end up with the
`на всю ширину экрана моего устройства.
export default function Map() {
return (
<MapContainer />
);
}
Here are the other components:
function MapContainer(props) {
const mapStyles = {
width: '100%',
height:'500px'
};
return (
<div>
<Map
google={props.google}
zoom={10}
// style={{
// width: "300px"
// }}
style={mapStyles}
initialCenter={{
lat: 47.6128856,
lng: -122.3631801
}}
/>
</div>
)
}
function App() {
return (
<div className="App container">
<Navbar fluid collapseOnSelect>
<Navbar.Header>
<Navbar.Brand>
<Link to="/">Skatespots</Link>
</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav pullRight>
{ isAuthenticated
? <NavItem onClick={handleLogout}>Logout</NavItem>
: <>
<LinkContainer to="/signup">
<NavItem>Signup</NavItem>
</LinkContainer>
<LinkContainer to="/login">
<NavItem>Login</NavItem>
</LinkContainer>
</>
}
</Nav>
</Navbar.Collapse>
</Navbar>
<AppContext.Provider value={{isAuthenticated, userHasAuthenticated}}>
<Routes />
</AppContext.Provider>
</div>
);
.App {
margin-top: 15px;
}
.App .navbar-brand {
font-weight: bold;
}
Я не знаю, в чем проблема, и эта простая проблема вызывает такую боль. использование отрицательного значения маржи кажется неправильным способом исправить сценарий 1, а использование фиксированной ширины с px
кажется, что это не будет динамическим c для разных размеров экрана для сценария 2. Спасибо.