【发布时间】:2021-05-11 01:36:06
【问题描述】:
我正在尝试构建一个响应式盒子,其中盒子的纵横比保持不变,儿童填充所有垂直空间。
到目前为止,如果我给孩子一个固定的高度,父母不再保持它的纵横比,但我根本不能给孩子任何高度。堆栈溢出似乎有一些答案,但在我的情况下无法让它们完全工作。这是我在 React 中的代码:
ReactDOM.render(
<div
style={{
width: '100%',
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
}}
>
<div
style={{
width: 350,
height: 250,
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
backgroundColor: 'white',
}}
>
<Diagram />
</div >
</div>,
document.getElementById('root'),
组件:
export default function Diagram(): ReactElement {
return (
<div className="h__diagramContainer">
<div className="h__columnContainer">
<div
className="h__diagramColumn"
style={{
border: '1px solid blue',
height: '100%',
}}
/>
<div
className="h__diagramColumn"
style={{
border: '1px solid blue',
height: '100%',
}}
/>
<div
className="h__diagramColumn"
style={{
border: '1px solid blue',
height: '100%',
}}
/>
</div>
</div>
);
}
scss:
.h__diagramContainer {
border: 1px solid green;
width: 100%;
}
.h__diagramContainer:after {
padding-top: 70%;
display: block;
content: '';
}
.h__columnContainer {
display: flex;
}
.h__diagramColumn {
width: calc(100% / 3);
}
.h__node {
width: 20px;
height: 20px;
}
如何让子 div 占据所有可用的垂直空间,以便它们可以用作弹性容器?
【问题讨论】:
标签: javascript html css reactjs