【发布时间】:2020-01-21 21:58:38
【问题描述】:
我目前正在尝试创建一个侧边栏。我遇到的问题是元素的容器“缩小到它的内容”。
我查看了替代解决方案,例如 flex-grow、将 App.css html、body height 设置为 100% 等。但似乎没有任何效果!
在 App.js 中,App 类呈现以下内容:
return (
<Router>
<Navbar />
<Route path="/" exact component={Landing} />
<Route path="/dashboard" component={DashBar} />
</Router>
);
在 DashBar 中:
import React from 'react';
import styled from 'styled-components';
const Container = styled.div `
display: flex;
border: solid black 3px;
flex: 1;
`
const DashBorder = styled.div `
width: 10%;
border-right: 2px shadow solid black;
background-color: blue;
`
const OtherContent = styled.div `
width: 90%;
background-color: red;
`
class DashBar extends React.Component {
render() {
return (
<Container>
<DashBorder>Dash</DashBorder>
<OtherContent>Other</OtherContent>
</Container>
);
}
}
export default DashBar
问题:如何扩展 DashBorder 元素以使其适合整个页面(宽度为 10%)。
【问题讨论】:
标签: html reactjs flexbox containers