web-dev-qa-db-ja.com

IE10は、スクロールバーがコンテンツの上に表示されて消えないようにします

IE10(デスクトップ)で http://www.buildwindows.com/ などの垂直スクロールバーを引き起こすコンテンツを含むWebサイトにアクセスすると、スクロールバーは次の場合にのみ表示されます。ウィンドウにカーソルを合わせます。

スクロールバーを常に表示するように強制する方法はありますか?私は、ページのさらに下にもっと多くのコンテンツがあることをより少なくすることを心配しています。

ありがとう

47
user1010892

設定するベンダープレフィックスのカスタムCSSプロパティがあります。

html {
   -ms-overflow-style: scrollbar;
}

その他のオプションには、autononescrollbar、および-ms-autohiding-scrollbarが含まれます。後者はあなたが経験している動作を引き起こします。

MSDNドキュメント からの抜粋、特に上記のscrollbar値:

コンテンツがオーバーフローしたときに、要素がクラシックスクロールバータイプのコントロールを表示することを示します。

-ms-autohiding-scrollbarとは異なり、-ms-overflow-styleプロパティがscrollbarに設定されている要素のスクロールバーは常に画面に表示され、要素が非アクティブのときにフェードアウトしません。

127
Pedro Lopes

これはトリックを行う必要があります。画面が992pxより大きい場合、メディアクエリはスクロールが消えないようにします。 (スクロールバーを非表示にするために、Windowsモバイルデバイスでこれが必要であると想定しています。これが、メディアクエリを作成した理由です)。

@-ms-viewport {
  width: device-width;  
}
@media (min-width: 992px) {
  @-ms-viewport {
    width: auto !important;
  }
}
3
Cstyves

cSSスタイル

overflow-y:scroll;

設定された要素は常に垂直スクロールバーを持つようになります

1
Patrick Evans

これをhtml要素、つまりhtml {-ms-overflow-style:scrollbar;}に追加しましたが、うまくいきました。

1
Arvind Sisara