【发布时间】:2022-01-17 20:11:35
【问题描述】:
我想要一个 CSS 网格,在网格的每个单元格内,我想要一个最大尺寸为单元格宽度 100% 的标题。如果标题太长,我想滚动。
这是当前具有正确滚动行为但在长标题上具有固定宽度的外观。我想要的不是固定宽度,而是单元格宽度的 100%(所以灰色块应该和红色框一样长)
codePen:https://codepen.io/vincent2303/pen/ExwZEpW
* {
margin: 0;
padding: 0;
}
body {
padding: 50px;
}
h2 {
font-size: 2em;
white-space: nowrap;
}
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
width: 800px;
gap: 20px;
}
.box {
background-color: #e74c3c;
height: 30vh;
}
.title-wrapper {
background-color: #bdc3c7;
width: 300px;
overflow-x: scroll;
}
<div class=grid>
<div>
<div class="title-wrapper">
<h2>long title, i can scroll---------</h2>
</div>
<div class="box"></div>
</div>
<div>
<h2>Short title</h2>
<div class="box"></div>
</div>
</div>
有人有这个想法吗?
注意:为了简化代码示例,.grid 类的宽度为 800px,但实际上,它的宽度由其父级定义,我无法预测宽度(我正在研究react app,这段代码将实现一个在多个地方使用的组件,大小不同)。
【问题讨论】:
-
你认为让红框比灰框的高度更大,而不是使用红框的 100% 宽度作为灰框的最大宽度并将红框与灰色框重叠一个带有“z-index”的可以接受吗?
-
感谢您的回答。我不能使用最大宽度,因为我不知道网格的宽度。