33

私は webkit-scrollbar を使用していますが、webkit スクロールバーが div のコンテンツを左に押し出し、コンテンツがオーバーフローするため、スタイリングの問題が発生しています。

知らせ

  • 最初のボックスはデフォルトのブラウザー スクロールバーを使用し、オーバーフローしません (良い)
  • 2 番目のボックスは Webkit スクロールバーを使用しているため、レイアウトが崩れます。(悪い/問題)

http://jsfiddle.net/ryeah/1/

divが/オーバーフローする原因となるwebkitスクロールバーで私が間違っていることについてのアイデア。2 番目のボックスを修正するにはどうすればよいですか? ありがとう

Webkit スクロールバー コード:

.box2::-webkit-scrollbar {
    height: 16px;
    overflow: visible;
    width: 16px;
}
.box2::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .2);
    background-clip: padding-box;
    border: solid transparent;
    border-width: 1px 1px 1px 6px;
    min-height: 28px;
    padding: 100px 0 0;
    box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1),inset 0 -1px 0 rgba(0, 0, 0, .07);
}
.box2::-webkit-scrollbar-button {
    height: 0;
    width: 0;
}
.box2::-webkit-scrollbar-track {
    background-clip: padding-box;
    border: solid transparent;
    border-width: 0 0 0 4px;
}
.box2::-webkit-scrollbar-corner {
    background: transparent;
}
4

4 に答える 4

89

overflow-y:overlay親divを入れてみましたか?それはクロムで私のために働きます。このページには、サファリでも動作すると書かれています。

于 2013-11-16T04:38:49.770 に答える
3

うーん.. Webkit スクロールバーをオーバーレイで取得する方法が思いつきません。改行を停止する1つの解決策は、スクロールバーを非表示にすることです

.box2::-webkit-scrollbar {
  height: 16px;
  overflow: visible;
  width: 16px;
  display: none;
}

その他、UL の幅をボックスと同じに設定して、オーバーフロー機能を利用し、スクロールバーの下に表示することができます

.box ul {
  width: 149px;
}
于 2012-11-20T09:40:22.873 に答える