私は長い間、画像の幅と高さをハードコードすることが最良の方法であったことを思い出しましたが(一般的に、読み込み中に適切な量のスペースが割り当てられました)、今ではほとんどの人が高速で、 ?どんなコンテンツイメージでもhtmlでインラインサイズが設定されていることが望ましいですか?
私はWordpress Stack ExchangeやWebmaster Stackの同様の質問に答えました。私はここにそれを掲示して、より多くの人々を明確にし、助けることを意図しています。 (管理者/モデレーター:許可されていない場合は、適切な方法を教えてください)。
実際には、htmlに幅と高さを指定する必要はありません。それが意味することは、あなたが適切なスペースを確保しなければならないことと、画像がロードされると、ブラウザはページをリフローして再ペイントする必要がないということです。
また、ディメンションをハードコーディングすると、応答するビヘイビアを破ることができます。あなたのレイアウトが応答していない場合、それは問題ありませんが、応答性を維持したい場合は、CSSだけを使用して結果を得ることができます。
ほとんどの場合、widthと
max-width:100
の両方を使用して作業しますが、次のステップは、コンテナ内に画像を配置し、コンテナをいっぱいにすることです。これを行うには、イメージをコンテナ内に絶対配置する必要があります。例: "
.img-container {
padding-bottom: 56.25%; /* 16:9 ratio */
height: 0;
background-color: black;
}
.img-container img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
クロスブラウザとの互換性を考慮して設計している場合は、イメージ自体のCSSの高さと幅を少なくとも指定する必要があります。 FireFox、IE、Operaなどのサイズが画像専用に指定されていないと、不一致が見つかりました。異なるバージョンについて言及することなく、各ブラウザがHTML標準への順守を異なるように扱うという事実のために、私は、一部のブラウザではHTMLデザイナーの意図を推定するのに最善を尽くしますが、他の人は最初のエラーでうんざりすることがわかりました。タブレットなどのモバイルデバイスからウェブサイトを表示する場合は、ピクセルまたは%のサイズではなくemサイズをお勧めします。しかし私は、HTML5で遊んで始めたので、画像に関してHTML5の違いはありません。