【发布时间】:2020-11-25 08:19:57
【问题描述】:
我有一个 CSS Grid 容器,里面有一个侧边栏和内容区域。我想当用户关闭侧边栏时,内容区域水平扩展以填充容器的整个宽度。 在下面的示例中,我使用 transformX(-100%) 悬停侧边栏进行隐藏,使用 transformX(0%) 显示鼠标侧边栏:
.test-container {
display: grid;
background-color: aquamarine;
grid-template-columns: 1fr 2fr;
grid-template-areas: "sidebar content";
height: 100vh;
}
.test-sidebar {
background-color: blue;
grid-area: sidebar;
transform: translateX(0%);
font-size: 40px;
color: white;
text-align: center;
transition: 2000ms;
}
.test-sidebar:hover {
transform: translateX(-100%);
transition: 2000ms;
}
.test-content {
background-color: blueviolet;
font-size: 40px;
text-align: center;
grid-area: content;
color: white;
}
<div class="test-container">
<div class="test-sidebar">Sidebar</div>
<div class="test-content">Content</div>
</div>
【问题讨论】:
-
我们可以使用Js吗?
-
如果可能的话,我更喜欢使用纯 CSS 解决方案。
标签: css css-grid css-transforms expand