それは既知の問題ですが、ここであなたはより多くを見つけることができます。issues, fancyapps @ GitHub
私はfancybox2(バージョン2.1.5)を使用しています。 (ライン165から始まる)オーバーレイhelper'-セクションと2つのルール変更:
.fancybox-lock {
/* overflow: hidden !important;*/
overflow-x: hidden !important;
overflow-y: scroll !important;
width: auto;
}
を: は、私は少し '
を検索jquery.fancybox.css'-file' を変更することで問題を解決してきました
と二番目のルール:
.fancybox-lock .fancybox-overlay {
/* overflow: auto;
overflow-y: scroll;*/
overflow: hidden !important;
}
ページがオーバーレイの後ろにスクロール可能であるが、これは、(私見)十分に正常に動作します。
少なくとも「シフト右」効果が抑制されます。
「right:0;」で配置された要素は後で発見されました。垂直スクロールバーの幅だけ左にシフトされました。
これは、headcy要素内にスタイルノードを追加することによって、fancybox.js-codeによってmargin-rightが設定されているためです。
問題を解決するには、使用しているコードに応じて、jquery.fancybox.jsファイルまたはjquery.fancybox-2.1.5-pack.jsファイル内の1行のコードを変更するだけです。
はアンパックバージョンのライン2017年:
$("<style type='text/css'>.fancybox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head");
// change it to
$("<style type='text/css'>.fancybox-margin{margin-right: 0;}</style>").appendTo("head");
// perhaps comment out the complete line, I haven't testet it though
または.packファイル(EOLニアライン46)で:
/* [much more code before] */ f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);
// change it to:
/* [much more code before] */ f("<style type='text/css'>.fancybox-margin{margin-right:0;}</style>").appendTo("head")})})(window,document,jQuery);
// or try to remove the "f().appendTo()"-part completely (untested)
あなたのページの高さは垂直スクロールバーを作成しませんが、ファンシーボックスはそれらを作成してページを移動し、スペースを確保するためです。 bodyタグに 'overflow-y:scroll;'というCSSを追加してみてください。 – JFK
ありがとう、私はそれを試みた、うまくいきませんでした。私はそれに繋ぎ続けるつもりです。 Fancyboxが作成しようとしているオーバーレイが問題かもしれない、私はそれを絞る必要があるだろう。 –
私はリンクを使ってあなたを助けることができます。 – JFK