附加垂直滚动条时列在移动

詹姆士

我不明白,当附有垂直滚动条的表时,为什么表头会移动。

这是我的html代码:

<div  >
        <ul class="nav nav-tabs" id="tab123" style="margin-top: 26px;">
            <li><a href="#div1" data-toggle="tab" >Tab1</a></li>
            <li><a href="#div2" data-toggle="tab"  >Tab2</a></li>

        </ul>

        <div class="tab-content"  style="overflow: hidden; margin-left: 20px; height: 504px;">
            <div  id="div1"  class="tab-pane">


                <div  style="overflow: hidden;margin-top: 10px;"  >

                    <table  style="width: 100%" border = "1">

                        <thead><tr>

                                   <th style="padding: 0px;width: 0px;visibility: hidden"></th>
                                   <th style="padding: 0px;width: 130px;text-align: left">Text1</th>
                                   <th style="padding: 0px;width: 181px;text-align: left">Text2  </th>
                                   <th style="padding: 0px;width: 85px;text-align: left">Text3   </th>
                                   <th style="padding: 0px;width:0.5px "></th>
                                   <th style="padding: 0px;text-align: center;width: 70px">Text5</th>
                               </tr>

                        </thead>

                    </table>

                </div>

                <div  style="overflow: auto;height: 50px;" class="tab-pane">
                    <table id ="tblSysDetails"   style="width: 100%;float: left" border ="1">

                        <tbody >

                            <tr >

                                <td   style="padding: 0px;width: 0px;visibility: hidden"  ></td>
                                <td  style="padding: 0px;width: 130px;text-align: left" >BBB</td>
                                <td  style="padding: 0px;width: 181px;text-align: left" >CCC</td>
                                <td  style="padding: 0px;width: 85px;text-align: left" >DDD</td>
                                <td  style="padding: 0px;width: 0.5px"></td>
                                <td  style="padding: 0px;text-align: center;width: 70px" >XXX</td></tr>

                        </tbody>
                    </table>

                </div>

            </div>

                <table style="width: 95%" id="tblCountSysTableChanges">
                    <tr><td style="font-weight: bold;text-align: right">456 </td></tr>
                </table>

                <div id="div2"  class="tab-pane">
                    <table>
                        <tr>
                            <td>AAAAAAAAA</td>
                        </tr>
                    </table>

                </div>

        </div>
    </div>

这是我的小提琴.1这是没有垂直滚动条的

2.这是带有垂直滚动条的第二个小提琴正在转移列。

有人可以说出为什么以及如何避免吗?

扎克·索西耶

原因是因为父级中没有足够的空间来容纳滚动条,因此它会将其他元素略微缩小以腾出空间

我知道在不更改滚动条的情况下避免它的唯一方法是隐藏滚动条,除非将tbody悬停在此位置overflow:hidden除非将其悬停,否则在tbody上使用,然后将其更改为overflow-y:scroll(这样切换时,这不会影响元素的位置或宽度)

以下是我添加的CSS(主要是将内联内容移至外部CSS文件中),您可以查看jsFiddle以获取更新的HTML

th, td {
    padding:0px;
    margin:0px;
    text-align:left;
}
th:nth-child(1), td:nth-child(1) {
    width:0px;
    visibility:hidden;
}
th:nth-child(2), td:nth-child(2) {
    width: 130px;
}
th:nth-child(3), td:nth-child(3) {
    width:181px;
}
th:nth-child(4), td:nth-child(4) {
    width:85px;
}
th:nth-child(5), td:nth-child(5) {
    width:.5px;
}
th:nth-child(6), td:nth-child(6) {
    width:70px;
    text-align:center;
}
tbody {
    overflow:hidden;
}
tbody:hover {
    overflow-y: scroll;
}
thead > tr, tbody{
    display:block;
}

该方法在本SO帖子中找到,另一种选择是创建一个自定义滚动条,但这需要一些javascript来完成,因为该问题的最高答案是

我不太确定为什么要使用两个表...可能要保持位置不变...但是我将它们放在一起并使用此处描述的方法(通过简单的Google搜索找到)来修复它

话虽这么说,您实际上还需要了解其他一些CSS基础知识。以下是一些原因的列表

  1. 使用类和其他通用选择器与内联CSS相比,它节省时间,结构更好并且易于遵循
  2. 整理您的代码!当我初次看您的jsFiddle时,其间距很长,很难阅读和阅读。jsFiddle甚至有一个“ TidyUp”按钮;用它!
  3. 知道将代码放入代码后会做什么,如果您使用padding,请知道padding会做什么。如果您使用ID,请知道原因。javascript或您使用的任何其他语言也是如此。它使您能够找到问题的根源,从一开始就避免错误,并以应有的方式使用事物
  4. 如果您认为可能有更好的方法来做某事,请寻找它。如果您厌倦了为一个元素块编写相同的5种样式,则可能有些事情允许您仅在一行中应用这5种样式(一类)。这仅是示例,但是该原理适用于任何事物。如果您考虑过,很可能其他人也有
  5. 尽可能避免使用内联CSS 这使查找和解决问题变得困难,尤其是当您有许多样式相同的元素时。它还会覆盖非内联CSS,如果您不小心会导致很多问题
  6. 不要重复IDS我花了大约10分钟的时间来解决格式错误,因为我没有意识到您重复了tblCountSysTableChanges两次ID它会导致各种错误,并且是非法标记

希望您能学到一些东西并牢记在心!干杯! (:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击元素以正确显示内容时如何移动垂直滚动条?

来自分类Dev

移动滚动条

来自分类Dev

移动滚动条

来自分类Dev

在滚动条上移动垂直线

来自分类Dev

如何将垂直滚动条向右移动?

来自分类Dev

Datepicker列在WPF中使用垂直滚动条时启用自身

来自分类Dev

删除垂直滚动条

来自分类Dev

单击取消按钮时,ngSweetAlert垂直滚动条消失

来自分类Dev

Jssor:当页面很长时添加垂直滚动条

来自分类Dev

单击取消按钮时,ngSweetAlert垂直滚动条消失

来自分类Dev

当我向右滚动条时,图像正在移动

来自分类Dev

QScrollArea:垂直滚动条引起的水平滚动条

来自分类Dev

垂直滚动条不滚动

来自分类Dev

垂直滚动条根据您滚动的距离逐位移动

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

如何使用Tkinter将垂直滚动条附加到树视图?

来自分类Dev

如何将垂直滚动条移动到已找到单词的视口-FlowDocument

来自分类Dev

如何将垂直滚动条移动到已找到单词的视口-FlowDocument

来自分类Dev

垂直导航栏移动到网站的其他部分/删除滚动条

来自分类Dev

Bootstrap:如何禁用垂直滚动条?

来自分类Dev

CSS-垂直滚动条删除

来自分类Dev

段落产生垂直滚动条

来自分类Dev

如何强制显示垂直滚动条?

来自分类Dev

QTreeWidget垂直滚动条跳得太远

来自分类Dev

Jekyll Rouge中的垂直滚动条

来自分类Dev

Bootstrap:如何禁用垂直滚动条?

来自分类Dev

ItemsControl缺少垂直滚动条

来自分类Dev

CSS-垂直滚动条删除