どうやって作成するか:リスポンシブ画像ライブラリ

CSSを使ってリスポンシブな画像ライブラリを作成する方法を学びます。

画像ライブラリ

ブラウザのウィンドウサイズを調整して、応答効果を確認してください:

自分で試してみてください

画像ライブラリを作成

ステップ1 - HTMLを追加:

<div class="responsive">
  <div class="gallery">
    <a target="_blank" href="img_5terre.jpg">
      <img src="img_5terre.jpg" alt="Cinque Terre">
    </a>
    <div class="desc">ここに画像の説明を追加してください</div>
  </div>
</div>
<div class="responsive">
  <div class="gallery">
    <a target="_blank" href="img_forest.jpg">
      <img src="img_forest.jpg" alt="Forest">
    </a>
    <div class="desc">ここに画像の説明を追加してください</div>
  </div>
</div>
<div class="responsive">
  <div class="gallery">
    <a target="_blank" href="img_lights.jpg">
      <img src="img_lights.jpg" alt="Northern Lights">
    </a>
    <div class="desc">ここに画像の説明を追加してください</div>
  </div>
</div>
<div class="responsive">
  <div class="gallery">
    <a target="_blank" href="img_mountains.jpg">
      <img src="img_mountains.jpg" alt="Mountains">
    </a>
    <div class="desc">ここに画像の説明を追加してください</div>
  </div>
</div>
<div class="clearfix"></div>

第2ステップ - CSSを追加:

この例では、メディアクエリを使用して異なるスクリーンサイズに応じて画像を再配置します:700ピクセル以上の幅のスクリーンでは、並べて4枚の画像を表示し、700ピクセル未満の幅のスクリーンでは、並べて2枚の画像を表示します。500ピクセル未満の幅のスクリーンでは、画像は垂直に積み重なります(100%):

div.gallery {
  border: 1px solid #ccc;
}
div.gallery:hover {
  border: 1px solid #777;
}
div.gallery img {
  width: 100%;
  height: auto;
}
div.desc {
  padding: 15px;
  text-align: center;
}
* {
  box-sizing: border-box;
}
.responsive {
  padding: 0 6px;
  float: left;
  width: 24.99999%;
}
@media only screen and (max-width: 700px) {
  .responsive {
    width: 49.99999%;
    margin: 6px 0;
  }
}
@media only screen and (max-width: 500px) {
  .responsive {
    width: 100%;
  }
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

自分で試してみてください

関連ページ

チュートリアル:HTML画像

チュートリアル:CSSで画像のスタイルを設定する