Amazonで商品を見る セール会場へ

CSSのmin()でボタン幅を可変にする|メディアクエリなしの実例

1個のボタンをPCでは最大480px、狭い領域では親要素の幅に合わせる例です。

メディアクエリやGridを使わず、CSSのmin()で上限を決めます。

旧例のminmax(250px, 1fr)は250px未満の領域でははみ出すため撤回しました。

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

動くサンプル

WAZAのトップページへ

PCの1280px幅とスマホ相当の390px幅で、Tabで選択すると3pxの青いフォーカス枠が表示されることを確認しました。

以下はスマホ幅での実画面です。

Tabで選択した可変幅ボタン。青いフォーカス枠とスマホ幅の折り返しを確認できる実画面。
2026年10月2日撮影。SWELL 2.19.0、390px幅。Tabでボタンへ移動した状態。

HTMLとCSSの貼付先

HTMLは記事のカスタムHTMLブロック、CSSは追加CSS欄に貼り付けます。

リンク先は自分のページへ変更してください。

この専用クラスを付けたリンクだけに適用されます。

<a class="waza-fluid-button" href="https://motoki-design.co.jp/wordpress/">WAZAのトップページへ</a>
.waza-fluid-button {
  display: block;
  box-sizing: border-box;
  width: min(100%, 480px);
  margin: 3em auto;
  padding: 0.9em 1em;
  border: 1px solid #333;
  border-radius: 5px;
  background: #fff;
  color: #333;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.waza-fluid-button:hover { background: #333; color: #fff; }
.waza-fluid-button:focus-visible { outline: 3px solid #075b9e; outline-offset: 3px; }

幅の決まり方

width: min(100%, 480px)は親要素の幅と480pxの小さい方を選びます。

box-sizing: border-boxにより、内側の余白(padding)と枠線を指定幅に含めます。

外側の余白(margin)は含まれません。

複数ボタンの列数を変える例ではありません。

長い文字は折り返します。

確認と戻し方

PC幅とスマホ幅で横にはみ出さないこと、Tabで枠が表示されEnterでリンク先へ移動できることを確認します。

見た目の変更を解除する場合は、追加したCSSとwaza-fluid-buttonクラスを取り除きます。

a要素とhrefを残すと通常のリンクになるため、リンク自体も不要なら追加したHTMLを削除してください。

min()の仕様も参照してください。

外部GitHubに保存された旧例は同期していません。

  • URLをコピーしました!

実装を任せたい方へ

WordPressのカスタマイズ代行

ブロックの追加、テーマの改修、管理画面の調整など、記事で紹介している内容の実装を承ります。1時間 ¥8,000〜(税込)。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次