写真をグリッドで表示するレスポンシブ デザインに取り組んでいます。写真自体は、すべての縦横比とサイズにすることができます。さらに、それらが配置されているグリッド セルも固定幅ではなく、ブラウザのサイズを変更すると拡大縮小されます。さらに、各グリッド セルは幅と高さが動的ですが、内部の画像に関係なく同じサイズです。
この非常に動的な状況で写真を適切に表示するために、私は有効なレシピを見つけました。各写真は基本的に、背景画像として設定された画像を持つ div です。動的にサイズ変更されたグリッド内の画像の不明な幅/高さを適切にスケーリングするために、CSS3 の background-size:cover 機能を利用しています。
最終結果は素晴らしく、UI と表示に関して私が望んでいたことを正確に実行します。それでも、私はこのソリューションのアクセシビリティが低下していることに満足していません.SEOフレンドリーではなく、プラグインフレンドリーでもありません(ソーシャルプラグインを考えてください). したがって、私は現在の作業状況を再現しようとしていますが、今回は CSS 背景の代わりに古き良き img タグを使用しています。
background-size:cover の IE8 以下のポリフィルがあることは知っていますが、それを探しているわけではなく、img タグに基づくソリューションを探しています。また、CSS のクリップ プロパティと同様に絶対配置テクニックを使用する記事も見つけましたが、私のデザインは絶対的なサイズではないことに注意してください。
私が探しているのは、ソース (画像のサイズ) とターゲット (表示ボックス) の両方のサイズが動的である状況で、動的なサイズ変更のための background-size:cover のロジックを持つ JavaScript ルーチンだと思います。
img タグで動作する background-size:cover に相当する JavaScript はありますか?