CSSボタンジェネレーター
通常、ホバー、キーボードフォーカス、押下中、無効、読み込み中の6状態を確認しながらボタンを設計できます。単色または2色グラデーション、枠線、余白、角丸、影、状態別の色を設定できます。ラベルはHTMLとして実行されないようエスケープされ、デザインはブラウザ内に保持されます。出力は意味に沿ったHTMLと範囲制限済みのCSSです。
CSSボタンの作り方
-
1
ラベルを入力
ボタンに表示するプレーンテキストを入力します。HTMLのような文字列もコードとして実行せず、文字として保持します。
-
2
基本デザインを設定
単色またはグラデーションの背景、文字色、枠線、サイズ、内側余白、角丸、影を選びます。
-
3
操作状態を設定
ホバー、押下中、フォーカスの色と移動量を設定します。無効状態と読み込み中のルールは自動で含まれます。
-
4
判定結果を確認
文字の最小コントラスト、フォーカス表示のコントラスト、確保される最小ターゲットサイズを確認します。
-
5
コピーまたは保存
エスケープ済みのHTMLとCSSをまとめてコピーするか、UTF-8の単体HTMLプレビューをダウンロードします。
生成コードに含まれるもの
HTMLは実際の<button type="button">要素を使い、表示ラベルをspan要素に入れます。CSSには次の6状態が含まれます。
- 通常: 操作していないときの表示
- ホバー: ポインティングデバイスでカーソルを重ねたとき
- キーボードフォーカス:
:focus-visibleで表示 - 押下中: ボタンを押している間
- 無効: ネイティブの
disabled属性で表示 - 読み込み中:
aria-busy="true"で表示
ボタンをいつ無効または処理中にするかは、利用するアプリ側で決めます。このジェネレーターが提供するのは表示ルールであり、アプリの状態やクリック処理は追加しません。
コントラスト表示は確認材料であり、適合証明ではありません
エディターは、基本色、グラデーション終点、ホバー色、押下中色のうち最も低い文字コントラストを計算します。通常サイズの文字の目安は4.5:1です。フォーカス枠と明るいプレビュー背景も比較し、文字以外の要素の目安として3:1を使います。
これらの数値はよくある問題の発見に役立ちますが、完成ページでは別の背景上にボタンを置く場合があります。実際のレイアウトでフォーカス枠と境界線のコントラストを再確認してください。無効な操作部品は透明度を下げて表示されるため、用途が明確でない場合は近くに理由を示す必要があります。
ターゲットサイズと動き
書き出すCSSは、インライン方向とブロック方向の最小サイズを44 pxにします。多くのタッチ操作で扱いやすい大きさであり、WCAG 2.2達成基準2.5.8の最小24 CSS pxより大きい値です。ただし、完成品ではレイアウト、周囲の間隔、例外条件、各プラットフォームの指針も考慮してください。
利用者が動きを減らす設定にしている場合、ホバーと押下時の移動は無効になります。処理中の表示は消さず、回転速度を落として状態が分かるようにします。
安全な出力範囲
表示ラベルは正規化され、最大120書記素クラスタに制限されます。不可視の方向制御文字を取り除き、スニペットとダウンロード内ではHTMLエスケープします。色は6桁の16進数のみ受け付けます。数値設定は整数に丸め、各入力欄に示した範囲内に収めます。
通常のエディターはブラウザメモリ内で動作します。任意の4ページ形式では、バージョン付きのデザインを現在のタブのsessionStorageに保存します。ラベルやデザイン値をファネルURLや当社のサーバーへ送ることはありません。
読み込み中状態の使い方
アプリのコードから処理中属性を追加・削除します。
<button type="button" class="generated-button" aria-busy="true" disabled>
<span class="generated-button__label">保存中</span>
</button>
aria-busyは更新処理中であることを伝えます。連続操作を防ぐ必要がある場合はdisabledも付けます。処理が終わったら両方の属性を外し、重要な成功・エラーメッセージは適切なステータス領域に表示してください。
よくある質問
いいえ。コントラスト計算、見えるフォーカス表示、動きを減らす設定への対応、意味に沿ったHTML、44 pxの最小ターゲットを提供しますが、適合性は完成ページの背景色、内容、動作、検証結果によって決まります。
いいえ。ラベルとデザインはブラウザメモリ内に保持されます。任意の複数ページ形式では同じタブのセッションストレージを使い、入力内容をURLや当社のサーバーへのリクエストへ入れません。
送信、表示、切り替えなどの操作にはボタンが適切です。ページ移動には実際のhrefを持つa要素を使い、同じ見た目が必要なら生成されたクラスを調整してください。
失敗を表示し、手動でコピーできるよう、読み取り可能なテキストエリアで出力全体を選択します。Clipboard APIが完了した場合にだけ成功を表示します。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
このツールは他の言語でも利用できます
- CSS-knappgenerator [SV]
- Trình tạo nút CSS [VI]
- CSS-Button-Generator [DE]
- Pembuat Tombol CSS [ID]
- Generator przycisków CSS [PL]
- منشئ أزرار CSS [AR]
- Gerador de botões CSS [PT]
- Generador de botones CSS [ES]
- Générateur de boutons CSS [FR]
- CSS 버튼 생성기 [KO]
- CSS-knopgenerator [NL]
- เครื่องมือสร้างปุ่ม CSS [TH]
- CSS Button Generator [EN]
- Generatore di pulsanti CSS [IT]
- Генератор CSS-кнопок [RU]
- CSS Buton Oluşturucu [TR]
- CSS 按钮生成器 [ZH]