全国オンライン対応受付 平日 9:00-18:00
お問い合わせ

開発記録 / jiji制作記 / Vol.29 jiji制作記 Vol.2

記事 03

スマホで崩れない管理画面——GASのHTMLサービスにメディアクエリを追加した

洋菓子店の管理画面はスマホから使うことを想定していなかった。

2026-06-09 公開

洋菓子店の管理画面はスマホから使うことを想定していなかった。

設計当初、管理者はPCで注文を確認するものだと思っていた。実際にはオーナーはスマホで通知を受け取り、LINEブラウザでそのまま管理画面を開いて確認・確定する。

PCで作った画面をスマホで開くとテーブルが横にはみ出す。ボタンが小さすぎてタップしにくい。入力欄が密集している。


メディアクエリを追加した

CSSに @media (max-width: 600px) ブロックを追加した。

@media (max-width: 600px) {
  .orders-table { font-size: 0.8rem; }
  .orders-table th, .orders-table td {
    padding: 6px 4px;
    word-break: break-all;
  }
  .tab-btn { font-size: 0.75rem; padding: 6px 10px; }
  .order-card { padding: 12px; }
  h1 { font-size: 1.2rem; }
  .btn { padding: 10px 16px; font-size: 0.85rem; min-height: 44px; }
}

min-height: 44px はAppleのHuman Interface Guidelinesで推奨されるタップターゲットの最小サイズだ。それ以下のボタンは指の腹で正確にタップするのが難しい。


テーブルのオーバーフロー対策

横幅が固定されたテーブルはスマホで必ずはみ出す。コンテナに overflow-x: auto を設定した。

.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

-webkit-overflow-scrolling: touch はiOSでの慣性スクロールを有効にする。指を離してもスムーズに止まる動きになる。


GASのHTMLサービスでCSSを確認する方法

GASのHTMLサービスはHTMLファイルとして管理される。ブラウザの開発者ツールでリアルタイムにスタイルを確認できる。

ただし、GAS Web AppのURLをブラウザで開くのと、LINEブラウザで開くのでは挙動が異なる場合がある。特にキャッシュとダイアログ系は実機確認が必要だ。

メディアクエリのCSSが適用されているかどうかは、ChromeのDevToolsでデバイスモードに切り替えることで確認した。実機と完全に同じではないが、大きな崩れは事前に発見できる。


変更後にキャッシュをバイパスした

CSSを修正してGASを再デプロイした。Flex Messageのボタンに設定した管理画面URLにはタイムスタンプが付いている。次の注文通知からキャッシュなしで最新のスタイルが反映される。

オーナーがすでに持っているURLからアクセスした場合はキャッシュが当たる可能性がある。新しい通知を受け取るまで待つか、URLに手動でパラメータを追加するかのどちらかだ。

根本的には、LINEブラウザのキャッシュはタイムスタンプ付きURLでしか確実に回避できない。


*シンプルシステム株式会社 代表 伊藤勝彦*