今回紹介した方法では、画像のピクセルサイズより枠の幅が広がった場合、画像が拡大されて表示されます。
そのため、画像がにじんだり、ぼやけた表示になります。画像の元の大きさより大きくは表示したくない場合は
max-widthプロパティを利用します。詳しくは、こちらの記事を参照してください。
width:100%
を指定すると、親要素の枠のサイズに合わせて画像を表示できます。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="image-responsive-width-01.css" />
</head>
<body>
<h2>コンテンツ幅に合わせてイメージの幅を変化させる</h2>
<div class="ContentFrame">
<img class="ContentImage" src="image-800.png"/>
</div>
</body>
</html>
.ContentFrame {
border: 2px solid #0094ff;
margin: 4rem auto 4rem auto;
padding:0.5rem 0.5rem 0.5rem 0.5rem;
}
.ContentImage {
width:100%;
}
ContentFrame
を設定します。 <div class="ContentFrame">
</div>
ContentFrame
クラスに枠線を表示します。また、マージンとパディングを設定しています。.ContentFrame {
border: 2px solid #0094ff;
margin: 4rem auto 4rem auto;
padding:0.5rem 0.5rem 0.5rem 0.5rem;
}
ContentImage
を設定しています。 <img class="ContentImage" src="image-800.png"/>
CSSでContentImage
クラスには width:100%;
を指定します。この設定で親要素の幅に合わせて画像が表示されます。.ContentImage {
width:100%;
}