CSSで料金表をスマホ対応にする方法|コピペできるレスポンシブ表

パソコンとスマートフォンの料金表表示を調整するWeb制作者 ホームページ作成

料金表をパソコンではきれいに表示できても、スマートフォンでは横にはみ出したり、文字が小さくなったりすることがあります。料金は問い合わせ前に確認されやすい重要な情報なので、読みにくい状態を放置すると不安につながります。

本記事では、HTMLとCSSだけでスマートフォンでも読みやすい料金表を作る方法を紹介します。WordPressのカスタムHTMLブロックと追加CSSにも利用できます。

料金表がスマートフォンで崩れる原因

横にはみ出した料金表をスマートフォンで確認する担当者
列数や長い文章によって、料金表が画面幅を超えることがあります。

列数が多い表は、画面幅より内容が広くなります。長いサービス名、料金、説明、備考を横一列に詰め込むと、ブラウザが文字を極端に縮めたり、表全体を画面外へ押し出したりします。

表をそのまま縮小するのではなく、必要な列を絞る、横スクロールを許可する、スマートフォンではカード型に切り替える方法があります。

まずはシンプルな料金表を作る

次のHTMLでは、サービス名、内容、料金の3列に絞っています。

<div class="price-table-wrap">
  <table class="price-table">
    <thead>
      <tr>
        <th>サービス</th>
        <th>内容</th>
        <th>料金</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th data-label="サービス">基本プラン</th>
        <td data-label="内容">基本作業一式</td>
        <td data-label="料金">9,800円〜</td>
      </tr>
    </tbody>
  </table>
</div>

data-labelは、スマートフォン表示で各項目名を表示するために使います。行を追加するときも同じ形式で設定してください。

CSSでパソコン用の見た目を整える

料金表のHTMLとCSSを編集するWeb担当者
罫線、余白、見出し、料金列を整えて、比較しやすい表にします。
.price-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.price-table th,
.price-table td {
  padding: 16px;
  border: 1px solid #dfe5ea;
  text-align: left;
  vertical-align: top;
}

.price-table thead th {
  background: #123b5d;
  color: #fff;
}

.price-table tbody td:last-child {
  white-space: nowrap;
  font-weight: 700;
  color: #b34a20;
}

border-collapseで罫線をまとめ、料金列にはwhite-space: nowrapを指定して金額の途中改行を防いでいます。

スマートフォンではカード型に切り替える

パソコンの表とスマートフォンのカード型料金表示を比較する制作者
スマートフォンでは1サービスずつカード表示にすると読みやすくなります。

次のCSSを追加すると、画面幅640px以下では表の見出しを非表示にし、各行をカードとして表示できます。

@media (max-width: 640px) {
  .price-table,
  .price-table tbody,
  .price-table tr,
  .price-table th,
  .price-table td {
    display: block;
    width: 100%;
  }

  .price-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .price-table tr {
    margin-bottom: 16px;
    border: 1px solid #dfe5ea;
    border-radius: 10px;
    overflow: hidden;
  }

  .price-table th,
  .price-table td {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid #eef1f3;
  }

  .price-table th::before,
  .price-table td::before {
    content: attr(data-label);
    color: #5f6b75;
    font-size: 13px;
    font-weight: 700;
  }

  .price-table tr > :last-child {
    border-bottom: 0;
  }
}

見た目だけでなく、HTML上では表の構造を維持しているため、内容の関係も分かりやすくなります。

価格表示で注意したいこと

  • 税込・税別を明記する
  • 「○円〜」の場合は金額が変わる条件を書く
  • 追加料金の有無を説明する
  • 古い料金を放置しない
  • キャンペーンの期限を明記する

料金を安く見せることより、お客様が総額を想像できることが重要です。個別見積もりの場合も、相談や見積もりが無料かどうかを伝えましょう。

WordPressへ追加する方法

HTMLは投稿編集画面の「カスタムHTML」ブロックへ追加できます。CSSは「外観」の追加CSS、子テーマ、または使用中テーマが提供するCSS欄へ追加します。

テーマやプラグインによって既存の表デザインが優先される場合があります。公開前にスマートフォンのプレビューと実機の両方で確認してください。

まとめ

料金表は列を絞り、スマートフォンではカード型へ切り替えると読みやすくなります。料金、条件、税込表記を一緒に整理し、見た目だけでなく内容の分かりやすさも改善しましょう。

料金表を含むホームページを、難しいコードなしで作る方法もあります。

ホームページクエストなら、料金やサービス内容を入力しながら、スマートフォン対応ページの完成イメージを確認できます。

ホームページクエストを試す

スポンサーリンク
スポンサーリンク
ホームページ作成
webo(ウェブ夫)をフォローする

コメント

タイトルとURLをコピーしました