777

CSSではなくHTMLIMGタグを使用して画像を表示する方が適切なのはどのような状況background-imageですか。その逆も同様です。

要因には、アクセシビリティ、ブラウザサポート、動的コンテンツ、またはあらゆる種類の技術的制限やユーザビリティの原則が含まれる場合があります。

4

31 に答える 31

879

IMGの正しい使い方

  1. 他のユーザーにページを印刷してもらい、デフォルトで画像を含めたい場合にIMG使用します。—ジェイティー
  2. 画像に重要な意味がある場合(警告アイコンIMGなど) に(テキストと共に)使用します。これにより、スクリーン リーダーを含むすべてのユーザー エージェントで画像の意味を確実に伝えることができます。alt

IMGの実用的な使用

  1. 画像がロゴ、図、人物などのコンテンツの一部であるIMG場合は、プラスの alt 属性を使用します(ストック フォトの人物ではなく、実在の人物)。—サンチョテファット
  2. IMGブラウザーのスケーリングに依存して、テキスト サイズに比例して画像をレンダリングする場合に使用します。
  3. IE6IMG で複数のオーバーレイ イメージに使用します。
  4. 背景画像を拡大してウィンドウ全体を埋めるにIMGは、 とともに使用します。z-index
    これは、CSS3 background-size では当てはまらないことに注意してください。以下の #6 を参照してください。
  5. img代わりに を使用するとbackground-image、バックグラウンドでのアニメーションのパフォーマンスが大幅に向上します。

CSS background-image を使用する場合

  1. 画像がコンテンツの一部でない場合は、CSS 背景画像を使用します。—サンチョテファット
  2. テキストの画像置換を行う場合は、CSS 背景画像を使用します。段落/ヘッダー。—サンチョテファット
  3. 他のユーザーにページを印刷してもらい、デフォルトで画像を含めたくない場合にbackground-image使用します。—ジェイティー
  4. CSS スプライトbackground-imageのように、ダウンロード時間を改善する必要がある場合に使用します。
  5. background-imageCSS スプライトのように、画像の一部だけを表示する必要がある場合に使用します。
  6. 背景画像を拡大してウィンドウ全体を埋めるために使用background-imageします。background-size:cover
于 2009-09-23T23:58:07.937 に答える
305

それは私にとって白黒の決定です。画像がロゴ、図、人物などのコンテンツの一部である場合 (ストック フォトの人物ではなく、実在の人物)、<img />タグと alt 属性を使用します。他のすべてについては、CSS の背景画像があります。

CSS 背景画像を使用するもう 1 つの場合は、テキストの画像置換を行う場合です。段落/ヘッダー。

于 2009-01-29T18:31:43.257 に答える
56

ブラウザは、デフォルトで常に背景画像を印刷するように設定されているわけではありません。人々にあなたのページを印刷してもらうつもりなら:)

于 2009-01-29T18:32:03.537 に答える
53

CSS が外部ファイルにある場合、サイト全体で頻繁に使用される画像 (ヘッダー画像など) を背景画像として表示すると、後で画像を柔軟に変更できるので便利です。

たとえば、次の HTML があるとします。

<div id="headerImage"></div>

...そしてCSS:

#headerImage {
    width: 200px;
    height: 100px;
    background: url(Images/headerImage.png) no-repeat;
}

数日後、画像の場所を変更します。CSS を更新するだけです。

#headerImage {
    width: 200px;
    height: 100px;
    background: url(../resources/images/headerImage.png) no-repeat;
}

そうしないと、すべての HTML ファイルでsrc適切なタグの属性を更新する<img>必要があります (プロセスを自動化するためにサーバー側のスクリプト言語またはCMSを使用していないと仮定します)。

また、背景画像は、ユーザーが画像を保存できないようにする場合にも役立ちます (ただし、これを行う必要はありません)。

于 2009-04-10T06:18:29.613 に答える
47

sanchothefat's answerとほぼ同じですが、別の側面からです。私は常に自分自身に問いかけます: Web サイトからスタイルシートを完全に削除するとしたら、残りの要素はコンテンツにのみ属しているのでしょうか? もしそうなら、私は自分の仕事をうまくやった。

于 2009-04-20T17:01:58.933 に答える
45

一部の回答は、ここでのシナリオを過度に複雑にしています。これは非常に単純な状況です。

画像を配置するたびに、この質問に答えるだけです。

これはコンテンツの一部ですか、それともデザインの一部ですか?

これに答えられない場合は、自分が何をしているのか、何をしたいのかわからない可能性があります。

また、単に「印刷に適した」ものにしたいかどうかという理由だけで、この 2 つの手法を考慮しないでください。また、CSS を使用して SEO の観点からコンテンツを非表示にしないでください。CSS ファイルでコンテンツを管理していることに気付いた場合は、自分自身を撃ったことになります。これは、何がコンテンツであるかどうかの些細な決定です。他のすべての側面は無視する必要があります。

于 2013-06-22T08:46:17.007 に答える
28

さらに 2 つの引数を追加します。

  • 画像のサイズを変更する必要がある場合は、imgタグが適しています。たとえば、元の画像が 100px x 100px で、80px x 80px にしたい場合、img タグの CSS 幅と高さを設定できます。background-image を使用してこれを行う良い方法がわかりません。編集: これは、 CSS3 属性を使用して背景画像でも実行できるようになりました。background-size

  • スプライトを動的に切り替える必要がある場合は、background-image の使用が適しています。たとえば、ボタン画像があり、カーソルが要素の上にあるときに別の画像を表示したい場合は、通常のスプライトとホバー スプライトの両方を含む背景画像を使用して、背景位置を動的に変更できます。

于 2011-08-24T16:03:18.703 に答える
23

<IMG> タグを使用するもう 1 つの利点は、SEO に関連しています。つまり、画像タグの ALT 属性で画像に関する追加情報を提供できますが、CSS で画像を指定するときにそのような情報を提供する方法はありません。この場合のみ、画像ファイル名が検索エンジンによって索引付けされる可能性があります。ALT 属性は、CSS アプローチよりも <IMG> タグの SEO 上の利点を確実にもたらします。そのため、画像検索結果 (Google 画像検索など) で上位に表示させたい画像を <IMG> タグを使用して指定することをお勧めします。

于 2013-04-10T10:23:02.373 に答える
19

前景 = img.

背景 = CSS の背景。

于 2009-05-22T18:03:51.397 に答える
14

背景画像は必要な場合にのみ使用してください。

IMAGESを使用する主な利点の 1 つは、SEO に優れていることです。

于 2010-09-18T14:14:18.913 に答える
12

背景画像を使用して、絶対に寸法を指定する必要があります。実際に事前に知らない場合や特定できない場合、これは重大な問題になる可能性があります。

の大きな問題<img />はオーバーレイです。画像にCSSの内側の影が必要な場合はどうなりますか(box-shadow:inset 0 0 5px rgb(0,0,0,.5))?この場合、<img />子要素を持つことはできないため、ポジショニングを使用し、空の要素を追加する必要があります。これは、役に立たないマークアップに相当します。

結論として、それはかなり状況的です。

于 2010-07-07T20:07:00.370 に答える
11

background-image使用する必要がある他のいくつかのシナリオ:

  • マウスが上に置かれたときに画像を変更したい場合。
  • 画像の角を丸くしたいとき。を使用するimgと、丸みを帯びた角から画像がはみ出します。
于 2012-12-12T00:00:50.083 に答える
10

複数のスキンまたはデザインのバージョンがある場合は、CSS background-image を使用します。Javascript を使用して、要素のクラスを動的に変更できます。これにより、強制的に別の画像が表示されます。IMG タグを使用すると、さらにトリッキーになる可能性があります。

于 2009-02-13T18:29:07.383 に答える
7

別の理由があります!レスポンシブデザインがあり、メディアクエリを介してデバイスの低解像度、中解像度、高解像度の画像の使用を分割したい場合は、背景も使用する必要があります。

于 2013-01-28T13:44:40.367 に答える
7

技術的な考慮事項は次のとおりです。画像は動的に生成されますか? <img>CSS プロパティを動的に編集するよりも、HTML でタグを生成する方がはるかに簡単な傾向があります。

于 2009-02-02T22:30:31.540 に答える
7

画像のサイズはどうですか?img タグを使用すると、ブラウザーは画像を拡大縮小します。css background を使用すると、ブラウザーは大きな画像からチャンクを切り取るだけです。

于 2009-05-22T18:00:17.520 に答える
7

CSS TranslateX/Y を使用した画像のアニメーション化に関して (HTML をアニメーション化する適切な方法) - CSS の背景画像の Chrome タイムライン記録を行うと、アニメーション化された画像と IMG タグがアニメーション化されている場合、CSS のペイント時間が大幅に短縮されることがわかります。背景画像。

于 2013-01-11T21:21:30.043 に答える
6

imgは何らかの理由で html タグであるため、使用する必要があります。物事を参照したり説明したりするために、人々は例えば:記事で。

また、画像に意味がある場合やクリック可能にする必要がある場合は、 css backgroundよりもimgの方が適しています。他のすべての状況では、 css バックグラウンドを使用できると思います。

とはいえ、何度も話し合う必要のあるテーマです。

フランス、パリ出身のウェブ学生

于 2011-01-26T00:40:42.257 に答える
6

また、一貫性のない画像サイズのギャラリー セクションがあるため、これらの画像は明らかにコンテンツと見なされますが、背景画像を使用し、サイズを設定して div の中央に配置します。これは、Facebook がアルバムで行うことと似ています。

于 2011-05-31T17:52:52.087 に答える
5

追加する小さなものですが、ユーザーが「右クリック」して「画像を保存」/「画像を保存」できるようにする場合は、img タグを使用する必要があります。その他。

背景画像を使用すると (ほとんどのブラウザーで認識している限り)、画像を直接保存するオプションが無効になります。

于 2011-11-21T12:52:56.433 に答える
4

IMGsrcソースの場合はスタイルシートに記載されているため、最初にロードbackground-imageするため、スタイルシートがロードされた後に画像がロードされ、Webページのロードが遅れます。

于 2014-04-10T13:34:43.103 に答える
3

また、ほとんどの検索エンジン スパイダーは CSS 背景画像をインデックス化しないため、背景画像は無視され、検索エンジンからのトラフィックを取得できません (つまり、SEO のメリットはありません)。

タグで定義されたすべての画像はインデックス化され(手動で除外されない限り)、タイトル/代替属性とファイル名が適切に最適化されている場合(キーワードに関して)、検索エンジンからのトラフィックをもたらすことができます。

于 2014-04-16T08:39:39.753 に答える
2

ほとんどのブラウザーでサポートされている 100% 伸縮可能にしたい場合は、background-image の代わりに image を使用します。

于 2013-01-14T16:49:11.660 に答える
2

画像を滑らかにし、さまざまな画面サイズに合わせて拡大縮小する場合は、IMG タグを使用できます。私にとって、これらの画像はほとんどコンテンツの一部です。コンテンツの一部ではないほとんどの要素については、CSS スプライトを使用してダウンロード サイズを最小限に抑えています。

于 2012-05-05T03:23:17.750 に答える
0

作品にスパナをかけるためだけに、imgタグは絶対に使用しないでください。HTMLは、視覚的なスタイルではなく、コンテンツを対象としていました。ページ上のすべての画像はCSSからのものであり、HTMLコードは純粋なままである必要があります。(ビルドに少し時間がかかる場合でも)

于 2010-04-22T13:11:48.453 に答える