0

モーダルウィンドウをレンダリングするためにbootstrap-modalを使用しています。

サイトが RTL の場合、垂直スクロールバーは右側にあります。モーダルが開くと、右側のスクロールバーが消え、左側に別のスクロールバーが表示されます。

これはデモサイトで再現できます。$("body").css("direction","rtl")コンソールでスクロールバーを右側に移動し、モーダルを開くだけです。

2 番目のスクロールバーが左側にあるのはなぜですか? どうすれば右側にとどまることができますか?

4

1 に答える 1

1

私は正反対に見えます。サイト(本文)がRTLの場合、右側に垂直スクロールバーが表示されません。いつも左側。それが「あるべき」方法です。

変更することはできません -- 少なくともブラウザのスクロールバーでは変更できません。サイトの方向がRTLの場合、スクロールバーが「属する」場所であるため、左側にあります(少なくともブラウザによると...一部のRTLリーダーはそれが奇妙だと思います)。

JavaScript プラグインを使用するか、独自のカスタム スクロールバーをロールすることができますが、サイトが RTL のときに左側に配置すると、デフォルトのブラウザーの動作が変更され、統合するのに多くの困難が生じます。ブートストラップ付き。

編集

以下の最初のコメントによると、デモページを間違って表示していました。ごめん。モーダルが開いたときに表示されるスクロールバーは、モーダル背景を表す div にあります。ブラウザーは、RTL であるページの方向に従って、これを正しく適用します。しかし、ページが RTL のときに反転するのはウィンドウのスクロールバーではありません。それはディビジョンです。

CSS を使用して、モーダル背景のスクロールバーを削除できる可能性があります ( http://jschr.github.io/bootstrap-modal/css/bootstrap-modal.cssの 16 行目あたり)。

ただし、これには他の結果があり、ウィンドウのメインスクロールバーの方向を入れ替えて回避しようとしているものとおそらく似ています。

于 2013-08-01T20:52:03.407 に答える