これはとても奇妙です。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: これは、システム設定のスクロール バーの表示設定に特に関連しています。スクロールバーを常に表示するように設定すると、正常に動作します。