スマホで画像をはみ出さないようにする

■スマホで画像をはみ出さないようにしたい(個々の画像に対して設定)■

レスポンシブ・ウェブ・デザインを作成する上で1つの障害となるのが、画像です。パソコンでは大きく見せて、スマホでは画面をはみ出さないように上手く表示するには、どうすればいいか。そういう時は、imgタグに対し、スタイルシートのmax-width(最大幅の指定)を適用するのが便利です。例えば、下記は、150px幅の端末を想定したものです。画面幅を示す青い枠線(150px)を、画像(200px)がはみ出してしまっています。

[max-width]を設定していない要素

150px / 250px

ここで、画像に対して、max-widthを指定してあげます。例えば、90%と指定すると、画像が、横幅(150px)の90%(135px)以上あった場合に、90%(135px)まで自動で縮小してくれます。height: auto ;を指定しておくことで、横幅と縦幅の比率が保たれます。

CSS

/* 画像の最大幅を指定する */

img

{

max-width: 90% ; /* 横幅の90% */

height: auto ; /* 縦幅を自動調整 */

}

先ほどの画像に、max-width: 90% ;を指定した例です。青枠の横幅(150px)の、90%(135px)の大きさまで、画像が自動的に縮小されているのを確認できますね。このように指定しておくことで、画像を、デスクトップPC幅でも、スマホ幅でも、適切に表示させることができます。大体、90%くらいを最大幅にすると、バランス良い表示になります。