レスポンシブ Web サイトにフォト ギャラリーを表示する必要があるページがあり、Retina ディスプレイもサポートされています。グリッドは、次のように、特定のコンテナーを比例的に満たすブロックで構成する必要があります。
If the screen width is >= 1200px
グリッドは 4 列で構成される必要があります (各ブロックの幅は 25%)。If the screen width is < 1200px and >= 768px
グリッドは 3 列で構成される必要があります (各ブロックの幅は 33%)。If the screen width is <= 767px
グリッドは 2 列で構成される必要があります (各ブロックの幅は 50%)。
すべてのグリッド ブロックは 2:3 の比率のサイズである必要があり、幅 1980 ピクセルのビューポートでグリッド ブロックを測定すると、約 500 ピクセルであることがわかります (これは制限ではありません。説明が必要な場合に役立つ測定データにすぎません)下)。もちろん、これはクエリを
介して簡単に実現でき、2:3 の比率を使用します。私が尊重しなければならない制限を説明するために、できるだけ多くのデータを提供しようとしています。@media
padding-top: 66.66666666666667%
グリッド
のサムネイルはさまざまなサイズと縦横比であり、グリッド ブロック領域全体をフィッティング/カバーしながら、垂直方向と水平方向にそれぞれのグリッド ブロックの中央に配置する必要があります。
グリッドはレスポンシブなので、狭いビューポートのブロックに合わせて親指を比例的にスケーリングする必要があります。
さらに複雑なことに、Retina ディスプレイをサポートする必要があるため、親指のサイズを 2 倍にして半分に縮小し、グリッド ブロックにも収まるようにする必要があります。
これはどのように達成できますか?(できればCSS経由のみ)
追加データ:
私は joomla を使用しています! 2.5 をこのプロジェクトの CMS として使用しており、クライアントに画像を追加する非常に簡単な方法を提供する必要があります。私が見つけた最良かつ最も簡単な解決策は、Simple Image Gallery です。このプラグインに必要なのは、自動サム生成手順 +<ul>
ページ内の自動生成グリッドだけであり、必要に応じて HTML+css 出力構造をオーバーライドするのは非常に簡単です。
Retina ディスプレイに関しては、正しい @2x 構文を提供する方がよいはずですが、私はあまり気にしません。パフォーマンスの問題に関しては、すべてのディスプレイに 1 つのダウンスケールされた画像を与える方がもちろん扱いやすいと思いますが、img の重みを処理するための本当に効果的で効率的な方法でもあります!
参照用にこれを参照してください。基本的には、寸法が 2 倍になり、jpg 圧縮が 20 程度の画像を使用し、CSS を使用して画像を半分に縮小しても、通常のディスプレイと Retina ディスプレイの両方に適した見栄えの良い画像が得られます。また、元のサイズのイメージから最大 25% 軽量化されています。
私はこれを自分でテストしましたが、これが非常にうまく機能していることがわかります。ほとんどの場合、通常のサイズの画像よりも重く、ごくわずかです (使いやすさと利点と比較して)。