ここでフルスクリーンのスライドショーのような効果のjsFiddleコードを作成しようとしていますが、その方法について疑問があります。私の例のフィドルからわかるように、画像を歪ませずに(画面に合わせて)できるだけ大きくしたいと思います。また、垂直方向と水平方向の中央に配置したいと思います。
水平方向のセンタリングはcssで処理されますが、垂直方向のセンタリングにはJavaScriptを使用する必要がありました。
私の質問は次のとおりです。
- これを行うためのより良い方法はありますか(たとえば、すべてCSSで)?
- 最初の読み込み時に、画像が(拡大縮小される前に)ビューポートよりも広い場合、スクリプトがビューポートの高さを計算している間、スクロールバーが表示されます。これは、スクリプトがdivとimgをウィンドウに合わせると、下部に白いギャップ、つまりスクロールバーの高さが存在することを意味します。これはoverflow:hiddenを指定することで回避できますが、少し回避策のようです。もっと良い方法はありますか?画像を切り替える方が良いでしょうか?
- divが画像よりも広くなるようにサイズを変更すると、黒いdivの下に白いセクションが表示され、垂直スクロールバーが作成されます。繰り返しますが、overflow:hiddenでこれを取り除くことができますが、そのアプローチは好きではありません。なぜそこにあるのか、どうやって取り除くのか知りたいのですが?
- 水平スクロールバーを表示させたり、サイズを変更すると点滅したりすることがあります。overlay:hiddenはこれを修正しますが、よりクリーンなソリューションが必要です。
- これをコーディングするためのより良い方法はありますか、または私のjQuery / Javascriptをさらに最適化できますか?