1

我正在创建一个div包含 Datagrid 的可滚动对象,如下所示:-

<div id="myDiv"
     style="overflow: auto; height: 300px; "
     onscroll="myFunction();">
     <asp:DataGrid id="gradesGrid"
     .
     .
     .
     </asp:DataGrid>
</div>

并且滚动条正式出现。但是,正如我所希望的那样,它并没有被附加到内容的右侧div,而是遮挡了 DataGrid 的右侧边缘。这会导致出现烦人的水平滚动条。有没有办法说服div将滚动条附加到 DataGrid 的外部而不是它的顶部?

4

1 回答 1

3

据我所知,目前不支持此功能。

如果您不介意 div 中垂直滚动条的轻微中断,只需应用以下内容:

overflow-x: hidden;

要隐藏水平滚动条(上图),或者增加 div 的大小 = 滚动条的像素宽度。也许实现一些填充?

padding-right: <value of the width of the scrollbar>;

编辑: *我建议填充的原因是因为你说你想要它在外面,现在你不能这样做,但如果它在外面,那么其他内容就必须用边距或填充来调整 - 所以真的没关系(这可能是您不能首先将滚动条设置在外部的原因)。

例如,如果您在外面有滚动条,并且它是 10px 宽,您将需要在其他 div 或它旁边的任何东西上设置一个规则,以便在它的一侧有 10px 的边距,以“触及”该滚动条。在包含的元素上添加填充更容易。*编辑结束。

您还可以设置滚动条的宽度,例如在 webkit 上:

::-webkit-scrollbar 
{
    width: 10px;
    height: 10px;
}

这是一个非常夸张的例子:http: //jsfiddle.net/eFhnN/

于 2013-01-11T16:27:22.940 回答