CSSだけでimgタグのsrcを差し替える方法を現役エンジニアが解説【初心者向け】

初心者向けにCSSだけでimgタグのsrcを差し替える方法について解説しています。ここではdisplay: none;で元の画像を非表示にし、差し替え後の画像を表示させる手法を説明します。サンプルコードで動作を確認しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

CSSだけでimgタグのsrcを差し替える方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

imgタグのsrcを差し替える方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

imgタグとsrc属性の使い方

imgタグには、src属性の値として、画像までのファイルパスを記述することができます。このsrc属性の値に画像までのファイルパスを記述することで、ページに画像が表示されます。

 

HTML

<img src="https://placehold.jp/150x150.png">

 

表示結果

See the Pen
2020-05-19-sample08
by YOHEI INAI (@yohei_inai)
on CodePen.

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

hover動作で画像を差し替える方法

正確には、hoverの動作が生じてから、imgタグのsrc属性の値をCSSだけでは書き換えれませんが、既存のimgタグを非表示に隠すことに加えて、背景画像に切り替えることが可能です。この手法は、古いブラウザでは使用できませんが、近年のブラウザでは、実現できます。

 

HTML

<div class="hover-image">
   <img src="https://placehold.jp/150x150.png">
</div>

 

CSS

.hover-image {
   width: 300px;
   height: 300px;
}

.hover-image:hover img {
   display: none;
}

.hover-image:hover {
   background-image: url("https://placehold.jp/300x300.png");
   background-repeat: no-repeat;
}

 

表示結果

See the Pen
2020-05-19-sample09
by YOHEI INAI (@yohei_inai)
on CodePen.

 

画像を差し替えてみよう

可視化を目的に、テックアカデミーにて使用されている画像を元にして、画像を切り替えます。

 

HTML

<div class="hover-image">
   <img src="https://assets.techacademy.jp/assets/mentor-about-1-0ad118da2768301b397245427d65b3c73e42dbed755c15bb61202d0fca28d7d8.jpg">
</div>

 

CSS

.hover-image {
   width: 500px;
   height: 300px;
}

.hover-image img {
   width: 500px;
   height: 300px;
}

.hover-image:hover img {
   display: none;
}

.hover-image:hover {
   background-image: url("https://assets.techacademy.jp/assets/mentor-about-3-47c6a0fa70343abebff1c25f81298efeabc8f2d9da7a595fb1d8cf9f50780694.jpg");
   background-repeat: no-repeat;
}

 

表示結果

See the Pen
2020-05-19-sample10
by YOHEI INAI (@yohei_inai)
on CodePen.

 

監修してくれたメンター

井内洋平

TechAcademyの現役メンター。

元Web Developerで、趣味は貯金、節税対策、投資信託、株式投資、FXなど多岐にわたる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも、最短4週間でオリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。