≪ Today I learned. RSS購読
公開日
タグ
HTML
著者
ダーシノ

読み込みに失敗した画像の代わりにaltを表示する

img要素の読み込みに失敗すると、ブラウザが壊れが画像アイコンとともにalt属性に設定してあるテキストを表示してくれる。

<img
  src="https://example.com/mountain-fuji.png"
  alt="富士山の雪景色。冬の早朝に撮影されたもの"
/>
富士山の雪景色。冬の早朝に撮影されたもの

読み込みに失敗した画像をわかりやすくする

img要素にfont-styleなどを指定することで、alt属性のテキストを他の文章と区別できる。

img {
  font-style: italic;
  color: #999;
}

また、読み込みに失敗した画像には::before::after疑似要素が使えるので、壊れた画像アイコン以外の表現もできる。画像が正常に読み込まれたときは疑似用書は表示されないので、特別なclassや属性を付与する必要はない。

img {
  position: relative;

  &::after {
    content: "読み込みに失敗しました: " attr(alt);
    color: #999;
    position: absolute;
    inset: 0;
    border: 4px solid;
    background-color: #eee;
  }
}

デモ

富士山の雪景色。冬の早朝に撮影されたもの富士山の雪景色。冬の早朝に撮影されたもの