EnjomonWeb

CSSで画像を画面いっぱいに表示する方法

画像表示の画像

デバイスの画面サイズにあわせ、画面いっぱいに画像を表示する方法を紹介します。

ファーストビューで魅力的な画像を画面全体に表示させるなどで、ユーザーにインパクトを与える効果が期待できます。

サンプルコード


<body>

<div class="block1">
<img src="img1.jpg" class="img1">
</div>

<div class="block2">
<div>

<body>

css(通常)と結果

まずは通常のcssです。一般的に画像を表示しようとした場合、<img src="">で画像を指定します。

その方法で表示する場合のcssと結果です。


.block1{

}

.img1{
width:100%;

}

.block2{
height:100%;

}



書くほどもないcssですが、画像を画面横幅に合わせ、レスポンシブに可変させているだけです。結果をフレームで表示しているので分かりにくいですが、通常のサイズだと横幅だけ可変するため、heightに合わせて縦が見切れたり、逆に高さが足りなかったりします。

画面いっぱいに表示させる方法

では今回のテーマである、高さもちょうどに画面いっぱいに画像を表示させる方法を説明します。

その方法はbackground-imageとheight:100vhを使用します。

そのためには、まずhtmlのコードからblock1にあった<img src=>を削除します。


<body>


<div class="block1">
</div>

<div class="block2">
<div>

<body>

cssと結果



.block1{
height:100vh;
background-image:url(img1.jpg); /*背景に表示したい画像*/
background-size:cover; /*画面サイズに合わせて画像の縦横比率を調整*/
background-position:center; /*画像の真ん中を起点として表示させる*/
}

.block2{
height:100%;

}



先ほどの結果と比べると、画像が画面いっぱいに表示され、その下にblock2が表示されているのが分かると思います。

また高さを画面サイズに合わせているのにも関わらず、画面比率がおかしくなることもなく画面に収まっています。

おまけ(黒フィルタかけ、文字のせ)

おまけで画像に黒いフィルタをかけ、そのうえに文字をのせてみます。スタイリッシュさがでて、カッコイイですよね。ちなみに文字を和訳すると面白いことが・・・。


<body>

<div class="block1">
<div class="block1_inner">
<p>Don't worry about what happens if you go this way. 
There is no way if you are in danger. If you step forward, 
that pair becomes the road, and that pair becomes the road. 
Don't hesitate to go. You can see it if you go.</p>
</div>
</div>

<div class="block2">
<div>

<body>


.block1{
height:100vh;
background-image:url(img1.jpg);
background-size:cover;
background-position:center;
}

.block1_inner{
height:100%;
background:rgba(0,0,0,0.5);
padding:0 10px;
display:flex;
align-items: center;
justify-content: center;
}

.block1_inner p{
color:#fff;
font-size:3.0em;
}

.block2{
height:100%;
}

@media screen and (max-width:768px){
.block1_inner p{
font-size:1.8em;
}
}

注意点

background-imageで画像を表示すると、googleに画像として認識されないため、SEO面で不利になる可能性があります。

SEOを重視するのであればbackground-imageでの表示は避けて、設定は少しややこしくなりますが、通常の画像として表示させることをおすすめします。

About

EnjomonWebは、「えんじょもん」である元転勤族の管理人が石川県金沢市から発信する、WEB制作情報をメインとした情報発信サイトです。

コーディング習得過程で検索してもすぐに解決しなかったことや、初心者には分かりづらい内容を分かりやすく説明することができるサイトを目指しています。

※「えんじょもん」とは金沢弁で「遠方の人、県外出身の人」という意味の方言。