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が完了した場合にだけ成功を表示します。
関連ツール
BinaryからHexへのコンバーター
バイナリ入力を大文字の16進数値に変換します。0と1以外は無視され、先頭の0は保持されません。
バイナリからASCIIへの変換ツール
バイナリ(スペース区切りのバイト、または長いビット列)を貼り付けると、それが表すASCIIテキストを取得できます。7ビットと8ビットのエンコードに対応。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
Base64 → Hex 変換ツール
Base64文字列を、その背後にあるバイトの16進表現へ変換します。トークン、鍵、証明書、JWTの確認に便利です。
カラーパレットジェネレーター
基準のHEXカラーから、モノクロマティック、類似色、補色、トライアド、テトラードのパレットを生成し、コピーしやすいCSS変数として書き出します。
2進数から10進数へ変換
2進数を瞬時に10進数へ変換します。各ビットがどのように寄与するかが分かる位取り展開を表示します。