【レスポンシブ】PCとスマホで異なる画像を表示させる方法
この間LP制作をした際に、PCとスマホで異なる画像を表示させる機会がありました。
PCとスマホで異なる画像を表示させるコーディングはたまに出てくるので、分からない人は是非マスターしましょう!
【レスポンシブ】PCとスマホで異なる画像を表示させる方法
完成形はこちらです。
See the Pen
Untitled by webis (@webis-co)
on CodePen.
PCとスマホで表示される画像が異なっていることが分かるでしょう。
それでは早速コーディングしていきます。
※ Google Chrome、Firefox、Microsoft edge、Safariで動作確認済み
HTML
<div class="box">
<div class="img">
<img src="./image/img1.JPG" alt="" class="pc">
<img src="./image/img2.JPG" alt="" class="sp">
</div>
<div class="text">
<h2>タイトルが入ります。</h2>
<p>テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。</p>
</div>
</div>
親要素boxの中に、imgとtextのclassを持った子要素を用意しました。
そして、PCの時に表示させたい画像に対して”pc”、スマホの時に表示させたい画像に対して”sp”のclassをつけます。
CSS
こちらがレイアウトのCSSです。
.box {
max-width: 1000px;
margin: 100px auto;
display: flex;
align-items: center;
justify-content: space-between;
}
.img {
flex-basis: 48%;
}
.text {
flex-basis: 48%;
}
.text h2 {
font-size: 25px;
margin-bottom: 35px;
}
.text p {
font-size: 18px;
line-height: 1.5;
}
そしてPCとスマホで画像を切り替えるためのCSSを書きます。
スマホの時に表示させたい画像は、PCの時は表示させないようにします。
// PCとスマホで画像を切り替える
.pc {
display: block;
}
.sp {
display: none;
}
最後にスマホの時は、”pc”のclassがついた画像を消し、”sp”のついたclassの画像が表示されるようにします。
// レスポンシブ
@media (max-width: 600px) {
.box {
flex-direction: column;
padding: 0 15px;
}
.img {
margin-bottom: 25px;
}
// スマホの時に""sp"がついたclassの画像が表示される
.pc {
display: none;
}
.sp {
display: block;
}
}
これでPCとスマホで異なる画像を表示させることが出来ました。




