ウィンドウサイズに合わせて画像の幅と高さを設定するためにjsを使用しました。しかし、ブラウザが非常に広い場合には、画像の高さがすべての父要素の高さを超えている場合があります。その結果、画像の下部は表示されません。これをどうすれば解決できますか?画像をウィンドウサイズとして手動で変更
私はこのプロジェクトでブートストラップとスワイパーを使用しました。変更したい画像は私のスワイパー部門の中にあります。私はすべての画像の父の要素の高さを100%に設定しました。ここで私のjsのコードを変更するには、イメージが体系的です。画像サイズは2560×1440です。
if(winWidth/winHeight < 2560/1440) {
imgHeight = winHeight;
imgWidth = winHeight/1440 * 2560;
}else {
imgWidth = winWidth;
imgHeight = winWidth/2560 * 1440;
}
attr = "width:" + imgWidth + 'px;height:' + imgHeight + 'px;margin-left: -' + imgWidth/2 + 'px;margin-top:-' + imgHeight/2 + 'px';
$('.main .swiper-slide > img').attr('style',attr);
PS: 申し訳ありませんが、わかりませんでした。あなたが提供した以下のメソッドは、画像を垂直方向に拡大/縮小し、ページ内に空白を残します。実際には、垂直のウィンドウや水平のウィンドウに関係なく、イメージの高さがウィンドウの高さ全体を占めるようにしたい。ウィンドウの幅が十分に広い場合、イメージの幅はウィンドウの幅に等しく、そうでなければイメージを幅でカットし、ウィンドウの幅と同じにします。
2c:これはJavascriptを誤用しており、あなたはこのような奇妙なエラーに遭遇します。 CSSを使用して、親の相対的なサイズとして画像のサイズを設定してみてください。サイズが計算されない場合は、異なるコンテナタイプ(スパンの代わりにdivなど)を使用する必要があります。 – patstuart
@patstuartウィンドウの幅ではなくウィンドウのアスペクト比に従って画像を変更したい。これを達成するためにCSSを使用できますか? PS:コードの6行目を 'imgHeight = windth/2560 * 1300'に変更し、私の問題を解決しました。良い解決策ではありませんが。 – JenkinsY
@JenkinsY vhとvwの使い方はどうですか?それはそれぞれ高さと幅の%です。つまり、ウィンドウと同じアスペクト比を保つことができます – LordNeo