我正在使用 flexbox 创建一个表。它有固定的标题和可滚动的正文。在 Windows 上,当使用 将滚动条添加到正文中overflow-y: auto
时,标题和行之间的左对齐会中断。因为在 Windows 上,滚动条从正文中占用了一些额外的空间,但标题仍然获得相同的空间。当滚动条添加到正文中时,有什么方法可以压缩标题宽度?
我想确保当滚动条存在时标题和正文的宽度相同,即使它不存在也是如此。
&__item, &--header__item {
position: relative;
flex-basis: 20%;
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
&.sm, &.lg {
flex-grow: 0;
}
&.sm {
flex-basis: 40px;
}
}
<!-- Header HTML -->
<ul class="table-list-container">
<li class="table-list-row">
<ul class="table-list header">
<li class="table-list--header__item sm text-center">
</li>
<li class="table-list--header__item md-padding-left-10">
Header 1
</li>
<li class="table-list--header__item">
Header 2
</li>
<li class="table-list--header__item">
Header 3
</li>
<li class="table-list--header__item text-center">
Header 4
</li>
</ul>
</li>
</ul>
<!-- Body HTML -->
<div style="height: 305px" class="scrollable">
<ul class="table-list-container">
<li class="table-list-row">
<ul class="table-list body">
<li class="table-list__item sm text-center">
<input type="checkbox">
</li>
<li class="table-list__item md-padding-left-10">Data</li>
<li class="table-list__item">Data</li>
<li class="table-list__item">Data</li>
<li class="table-list__item text-center">Data</li>
</ul>
</li>
</ul>
</div>