1

次のように Datagrid を含むスクロール可能なものを作成してdivいます:-

<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>;

編集: *パディングを提案している理由は、あなたが外側にそれが欲しいと言ったからです。今のところそれはできませんが、外側にある場合は、他のコンテンツをマージンまたはパディングで調整する必要があります-本当にそれは問題ではありません (そもそもスクロール バーを外側に設定できないのはおそらくそのためです)。

たとえば、外側にスクロール バーがあり、幅が 10 ピクセルの場合、他の div またはその横にあるものに、そのスクロール バーに「触れる」側に 10 ピクセルのマージンを持たせるルールが必要になります。含まれている要素にパディングを追加する方が簡単です。 *編集の終わり。

スクロールバーの幅を設定することもできます.Webkitの例:

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

これは非常に誇張された例です: http://jsfiddle.net/eFhnN/

于 2013-01-11T16:27:22.940 に答える