これは簡単な質問ではないかもしれませんが、最善を尽くします。
このサンプル サイトがあります: http://lotvonen.tumblr.com/ 内部ブラウザー ウィンドウの高さを自動的に計算し、その数値をイメージ ラッパー div の高さとして設定する小さな JavaScript があります。ラッパー内の画像の高さはラッパーの 100% であるため、すべての通常の画面サイズでフルスクリーンの画像を取得できます。これは、高さよりも幅の広い画面 (デスクトップ、ラップトップなど) でうまく機能します。
しかし!
幅よりも高さが長い画面 (スマートフォン、iPad など) では、画像が横から切り取られます。私はそれを望まないので、ブラウザ画面の最大幅が 1024 の場合、クリッピングが発生しないように、メディアクエリで高さを auto に、幅を 100% に割り当てるという一時的な解決策があります。しかし、これはあまり良い解決策ではなく、特定の解像度で壊れます。また、解像度が低い (800x600 など) と私の JS が破壊されます。
JS は次のとおりです。
<script type="text/javascript">
var elems = document.getElementsByClassName('img'),
size = elems.length;
for (var i = 0; i < size; i++) {
var img = elems[i];
var height = (window.innerHeight) ? window.innerHeight: document.documentElement.clientHeight;
img.style.height=(height)+'px';
}
</script>
ここに私のCSSがあります:
.img {
max-width:100%
}
.img img {
width:auto;
}
.img img {
height:100%;
}
@media only screen and (max-width: 1024px) {
.img {
height:auto !important;
}
.img img {
height:auto !important;
max-width:100%;
}
そしてここにdivがあります:
<li><div class="img"><img src="{PhotoURL-HighRes}" alt="{PhotoAlt}"/></div>
ブラウザ ウィンドウが幅よりも高くなっている場合 (例: 720x1024)、画像が幅によって調整され、ブラウザ ウィンドウが高さよりも幅が広い場合 (例: 1024x720) に画像が調整されるようにするにはどうすればよいですか?今(高さで、JSで)。これはまったく可能ですか?これに対する簡単な CSS 修正はありますか、それとも JS をもっといじる必要がありますか?
前もって感謝します!