0

これはとても奇妙です。Safari 6 は、overflow-y: scroll を持つ要素にスクロールバーを表示しないようです。

<ul>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
<li>something</li>
</ul>​

ul {
    background: #f1f1f1;
    width: 400px;
    height: 300px;
    overflow-x: hidden;
    overflow-y: scroll;
}

li {
    height: 50px;
    line-height: 50px;
    background: #c1ffff;
    margin-bottom: 3px;
}​

アプリのパフォーマンスの問題のため、スクロールバーを強制したくありません。常にそこにあると見苦しくなります。これを修正する方法を知っている人はいますか?

Firefoxは常にスクロールバーを表示しますが、クロムはそれを完全にレンダリングし、実際のスクロールでのみスクロールバーを表示します。

問題を示すフィドルを作成しました: http://jsfiddle.net/mWT3X/

更新: Safari 5 ではレンダリングされるが、6 ではレンダリングされないことが確認されました。更新 2: これは、システム設定のスクロール バーの表示設定に特に関連しています。スクロールバーを常に表示するように設定すると、正常に動作します。

4

1 に答える 1

0

Safari 6.0には、「オーバーフロー:スクロール」が設定された要素がスクロールバーの新しいオーバーレイスタイルを表示しない原因となるWebKitのバグがありました。この問題はSafari6.0.1で解決されました。

于 2013-01-19T06:23:18.730 に答える