【发布时间】:2021-08-11 13:57:05
【问题描述】:
display: grid;
grid-template-columns:var(--side-bar-width) 1fr;
grid-template-rows: 60px 1fr 90px;
gap: 0px 0px;
grid-template-areas:
"Sidebar Header"
"Sidebar Body"
"Player Player";
我有三个组件,每个组件都渲染一个类名为.Body { ... grid-area: Body; },.Sidebar { ... grid-area: Sidebar; },.Player{ ... grid-area: Player; }
的div
分别
Player 组件是高度为 90 像素的条件渲染,最初它是不可见的,因此有时看起来视口在页面加载时屏幕底部有 90 像素的空白空间
Player 组件/内容属于Player grid-area。如何在网格模板中动态隐藏内容为空的网格区域?隐藏可能意味着最小高度 0 或不显示
换句话说,如果播放器组件被渲染,我想显示/隐藏最后一个网格模板行,然后调整网格以填充屏幕
我也看到了CSS Grid. Hide unused area & Preventing fixed footer from overlapping content
更新:
Player css 有这些附加属性
.Player {
...
height: 90px;
display: flex;
width: 100%;
position: fixed;
bottom: 0;
}
【问题讨论】:
-
不要定义第三行,你是在强制 90px 空白空间,而是将其定义为
grid-auto-rows: 90px; -
好像你更新了你的问题。请参阅我的更新答案。
-
@MichaelBenjamin 我添加了评论和更新
标签: css reactjs css-grid show-hide