【发布时间】:2018-10-17 11:13:51
【问题描述】:
我有一个使用 CSS Grid 设计的网页。这就是它的样子-
在某些情况下,我想删除用户名 - CSS Grid User 以使呈现的页面看起来像这样 -
我在react/redux 项目中使用它。基于一个变量,我必须显示/隐藏用户的用户名。
因此我想更改网格的行数,我尝试将 display: none 类设为这样
.username {
display: none;
}
然而,它所做的只是删除 CSS Grid User 字符串,但该行存在,留下一个空格。
有什么方法可以动态更改行数/列数。我不想使用CSS in JS 解决方案。我有一个简单的 CSS 文件,用于设置 react 组件的样式。
.layout {
display: grid;
grid-template-columns: minmax(200px, auto) minmax(200px, 300px) minmax(900px, auto) minmax(200px, auto);
grid-template-rows: 60px 60px 60px minmax(700px, auto);
grid-gap: 5px;
height: calc(100vh);
}
.navbar {
grid-column: 1 / -1;
grid-row: 1 / 2;
background-color: #3a3f51;
border-bottom: 1px solid #797d89;
text-align: center;
color: aliceblue;
}
.username {
grid-column: 1 / -1;
grid-row: 2 / 3;
background-color: #f7f9f9;
border-bottom: 1px solid #dee5e7;
text-align: center;
}
.statement-list {
grid-column: 2 / 3;
grid-row: 3 / 5;
max-height: 600px;
overflow-y: auto;
}
.title {
grid-column: 3 / 4;
grid-row: 3 / 4;
}
.content {
grid-column: 3 / 4;
grid-row: 4 / 5;
overflow-x: auto;
overflow-y: auto;
}
<body class="layout">
<div class="navbar">About</div>
<div class="username">CSS Grid User</div>
<div class="title">Lorem Ipsum</div>
<div class="statement-list">
Phasellus commodo sit amet eros non pharetra. Phasellus consequat augue est, ornare finibus lectus auctor non. Praesent rutrum odio tortor. Proin id massa magna. Phasellus commodo sit amet eros non pharetra. Phasellus consequat augue est, ornare finibus
lectus auctor non. Praesent rutrum odio tortor. Proin id massa magna.
</div>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet a odio quis commodo. In nisl justo, tincidunt vel aliquet eget, mollis eget lorem. Aenean sit amet nibh eget nunc sodales vestibulum id ac ante. Nullam eleifend sodales ipsum, sed
porta tellus posuere molestie. Vestibulum congue porta odio sed iaculis. Phasellus varius sodales ullamcorper. Praesent consectetur ante eget turpis pretium, eget sagittis leo volutpat. Aenean posuere, sapien quis placerat pulvinar, lectus est interdum
dui, at pretium risus sapien et neque. Sed eu fringilla turpis. Ut viverra, nisl non euismod sollicitudin, tellus lectus finibus leo, in ornare sem mauris non eros. Fusce augue est, rhoncus vitae tristique in, malesuada nec libero. Sed venenatis vehicula
ultricies. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce interdum auctor ante a fermentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam malesuada
scelerisque tortor ac faucibus. Integer pharetra eget velit a tempus. Aenean at lobortis massa, vel accumsan ligula.
</div>
</body>
【问题讨论】: