iframe付きカードを作る方法【HTML/CSS・サンプルコード付き】

カードUI

iframe付きカードを作る方法

iframe付きカードを作る方法を紹介します。このサンプルでは、HTMLのiframe要素をカード上部へ配置し、Webページをカード内に埋め込んで表示します。その下にはタイトルと説明文を配置し、埋め込みコンテンツと関連する情報をひとつのカードとしてまとめて表示できる構成にします。

外部ページや自分で用意したWebページなど、iframeで表示できるコンテンツをカード形式で紹介したい場合に利用できます。埋め込み先のURLはHTMLのiframeにあるsrc属性から変更できるため、表示したいページに合わせて差し替えられます。iframe部分はカードの横幅いっぱいに表示し、一定の高さを確保することで内容を確認しやすくしています。

HTMLではiframeのURL、カードタイトル、説明文を変更できます。CSSではカードの横幅、iframeの高さ、余白、背景色、枠線、角丸、文字サイズなどを調整できます。iframeには横幅100%を指定しているため、カード幅に合わせて表示され、シンプルな埋め込みカードとして利用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

iframeでWebページを表示

カード内にWebページを埋め込み、タイトルと説明文をまとめて表示するサンプルです。

このデモでは、カード上部にiframeでWebページを表示し、その下にタイトルと説明文を配置したレイアウトを確認できます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>iframe付きカードを作る方法</title>

  <!-- CSSファイル -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- カード表示エリア -->
  <div class="iframe-card_wrap">

    <!-- iframe付きカード -->
    <article class="iframe-card_card">

      <!-- iframe表示エリア -->
      <div class="iframe-card_frame">

        <!--
          src属性へ表示したいWebページのURLを指定します。
          iframeでの表示を許可しているページを指定してください。
        -->
        <iframe
          src="https://example.com/"
          title="iframeコンテンツ">
        </iframe>

      </div>

      <!-- カード本文 -->
      <div class="iframe-card_body">

        <!-- タイトル -->
        <div class="iframe-card_title">
          iframeでWebページを表示
        </div>

        <!-- 説明文 -->
        <p class="iframe-card_text">
          カード内にWebページを埋め込み、タイトルと説明文をまとめて表示するサンプルです。
        </p>

      </div>

    </article>

  </div>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSSの2ファイルで構成されています。HTMLではiframeを使ってWebページをカード内へ表示し、その下にタイトルと説明文を配置します。CSSではカード全体の横幅、iframeの表示サイズ、余白、枠線、角丸、文字サイズなどを設定します。JavaScriptは使用しません。

sample/
├── index.html
└── style.css

各ファイルの役割
index.htmlはiframe付きカードの内容を構成するファイルです。iframeへ表示するWebページのURL、カードのタイトル、説明文を変更できます。表示するWebページは、iframesrc属性へURLを指定します。

style.cssはiframe付きカードのデザインを設定するファイルです。カードの最大横幅、iframeの高さ、外側・内側の余白、背景色、枠線、角丸、タイトルの文字サイズや説明文の行間などを変更できます。

設置方法・使い方
sampleフォルダへindex.htmlstyle.cssを同じ階層で配置します。そのあとsample/index.htmlをブラウザで開くと、iframe付きカードが表示されます。

iframeへ表示するWebページを変更する場合は、index.htmlにあるiframesrc属性を変更してください。例えばhttps://example.com/を表示する場合は、次のように指定します。

<iframe src="https://example.com/" title="iframeコンテンツ"></iframe>

iframeには任意のWebページを必ず表示できるわけではありません。表示先のWebサイト側でiframeによる埋め込みが禁止されている場合は表示できないため、iframeでの表示を許可しているページのURLを指定してください。

カスタマイズできる内容
index.htmlでは、iframesrc属性を変更して表示するWebページを変更できます。また、「iframeでWebページを表示」のタイトルと、その下に表示する説明文も用途に合わせて変更できます。

style.cssでは、カードの最大横幅、iframeの高さ、ページやカード本文の余白、背景色、枠線、角丸、タイトルの文字サイズ、説明文の文字色や行間を変更できます。

数値調整
style.css
padding:40px 20px;
ページ全体の内側余白です。40pxは上下、20pxは左右の余白を表します。値を大きくすると画面端との間隔が広がり、小さくすると狭くなります。

max-width:380px;
カードの最大横幅です。値を大きくするとカードが横に広がり、小さくするとコンパクトになります。

border-radius:12px;
カードの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。

height:260px;
iframe表示エリアの高さです。値を大きくするとWebページを表示する領域が高くなり、小さくすると低くなります。

padding:20px;
カード本文の内側余白です。値を大きくするとタイトルや説明文とカード端との間隔が広がります。

margin:0 0 10px;
タイトル下側の余白です。10pxを大きくするとタイトルと説明文の間隔が広がり、小さくすると狭くなります。

font-size:20px;
カードタイトルの文字サイズです。値を大きくするとタイトルが大きくなり、小さくすると小さくなります。

line-height:1.8;
説明文の行間です。値を大きくすると行間が広がり、小さくすると詰まった表示になります。

@media (max-width:640px)
画面幅640px以下でスマートフォン向けの余白へ切り替える基準です。ページ全体の余白をpadding:24px 18px;へ変更します。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssでカードにwidth:100%max-width:380pxを指定しているため、画面幅が狭くなるとカードも自動的に縮小します。iframeにもwidth:100%を指定しているため、カードの横幅に合わせて表示領域が変化します。また、画面幅640px以下ではページ全体の余白をpadding:24px 18px;へ変更しているため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント