在表格中的tbody添加滚动条

我们在对table进行操作的时候,往往有一个这样的诉求,我们需要向表格中添加滚动条,这个滚动条仅仅对于tbody生效,也就是当滚动条滑动的时候,表头是不滚动的,给出一个效果图:

向tabody中添加滚动条

代码实现:

<div>
            <table border="1px soild black" style="width: 100%;">
                <thead >
                    <tr>
                        <th>name</th>
                        <th>name</th>
                        <th>name</th>
                    </tr>
                </thead>
            </table>
        </div>
        <div style="max-height: 100px; overflow-y: scroll">
            <table border="1px soild black" style="width: 100%;">       
                <tbody>
                <!--<div style="height: 100px;">-->
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>
                </tr>
                <tr>
                    <td>kim</td>
                    <td>kim</td>
                    <td>kim</td>                
                </tr>
            </tbody>
        </table>
    </div>
    </body>

其中style="max-height: 100px; overflow-y: scroll"是这段代码的关键,设置了最大的高度是100px,当内容超过这个高度的时候,就会出现竖直方向的滚动条。

提问:为什么在在tbody里面直接设置高度不生效?

<!--不生效-->
<tbody style:"height:100px"> </tbody>

在使用tbody标签的时候,会默认使用 display: table-row-group属性,这个属性导致对于宽度和高度的设置是自适应当前屏幕的,所以再设置宽度和高度的时候,就不会生效,我的解决方案就是:将这个表格拆分放在两个div中。但是这样的话可能会造成,上下的表格不能完整的显示出来,我们可以采用将上下的宽度进行手动的设置,来实现这个效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,403评论 1 45
  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 9,870评论 2 5
  • nothing's gonna change my love for you 最美的爱情不是彼此消耗,而是互相鼓励...
    颜行一致阅读 3,474评论 1 3
  • 很奇怪,在资本市场中经常有人在教导别人要理性。而所有理性模式后面,都毫无例外地对 应着一套价值系统为依据,企图通过...
    lexluseyan阅读 3,564评论 0 1

友情链接更多精彩内容