我在设置车身高度、宽度、溢出卷轴时遇到问题.

<style> 
     tbody{
       height:50px;display:block;overflow:scroll
     }
   </style>

       <h3>Table B</h3>
    <table style="border: 1px solid red;width:300px;display:block">
        <thead>
            <tr>
                <td>Name</td>
                <td>phone</td>
            </tr>
        </thead>
        <tbody style='height:50px;display:block;overflow:scroll'>
            <tr>
                <td>AAAA</td>
                <td>323232</td>
            </tr>
            <tr>
                <td>BBBBB</td>
                <td>323232</td>
            </tr>
            <tr>
                <td>CCCCC</td>
                <td>3435656</td>
            </tr>
        </tbody>
    </table>

Visit my fiddle here

我想要像表格A一样的表格B,带有溢出卷轴.

如有任何帮助,我们将不胜感激.

非常感谢,

推荐答案

如果希望tbody显示滚动条,请将其设置为display: block;.

tr设置为display: table;,以便它保持表的行为.

要使细胞均匀分布,请使用table-layout: fixed;.

DEMO tbody scroll


CSS:

table, tr td {
    border: 1px solid red
}
tbody {
    display: block;
    height: 50px;
    overflow: auto;
}
thead, tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;/* even columns width , fix width of table too*/
}
thead {
    width: calc( 100% - 1em )/* scrollbar is average 1em/16px width, remove it from thead width */
}
table {
    width: 400px;
}

如果tbody因为内容少于heightmax-height而没有显示滚动,请随时使用:overflow-y: scroll;设置滚动.100


100 2019-04/2021


  • Important note:这种使表格可滚动的方法在某些情况下有缺点.(见下面的 comments )

警告:此解决方案会断开THAD和tbody单元网格的连接;这意味着在大多数实际情况下,您将无法从表中获得预期的单元格对齐方式.注意,这个解决方案使用了一个hack来保持它们的对齐:thead{width:calc(100%-1em)}

  • 无论如何,要设置滚动条,需要重置显示以消除表格布局(它永远不会显示滚动条).

  • 通过display:grid/contents<table>变成网格也会在标题和可滚动部分之间留下一个空隙,这一点值得注意.(如果从div构建,则相同)

  • overflow:overlay;还没有出现在Firefox ( keep watching it)

  • position:sticky将需要一个可以是滚动容器的父容器.如果您有几行和rowspan/colspan个标题,请确保您的thead可以是粘性的(它不带 chromium ).

So far, there is no perfect solution yet via CSS only美元.有几种平均方式可供 Select ,以便适合您自己的表格(表格布局:FIXED;IS..固定表格和列的宽度,但javascript可能用于重置这些值=>;退出纯CSS)

Html相关问答推荐

将文本区域标签的内容着色为SON(带有 colored颜色 )

Tailwincss:自动设置网格高度

如何从卷轴中排除粘性元素?

创建带有弯曲边框的水平时间线

如何将CSS滤镜仅应用于背景图像

根据按钮位置左/右对齐按钮

Style=背景图像URL引用变成&;Quot;

如何在网格中拥有离散的行

如何在css中旋转块时调整内容宽度、高度

(HTML框架标签)点击后目标框架将不再工作

CSS中的百分比高度,如何使其与父级高度相同

如何使用 Flutter 构建 Chrome 扩展?

在 flexbox 中使用 spacer 是否有效

如何使Bootstrap 5卡可点击

子元素放在文本样式之后,样式会 destruct

如何使用CSS将页面标题水平居中对齐

XPATH Select h2标签和

标签之间或h2标签和 标签之间的td元素,以立即为准

将图像高度调整到容器 div 中而不使其高度增加

将 HTML 元素粘贴到容器底部,而不剪裁其顶部

如何在 Tailwind CSS 中创建响应式网格布局?