ニューモーフィズム凹ボタン(押し込まれた状態)
内側に陰影を入れて「押し込まれている」状態を表現するニューモーフィズム凹ボタン。ON/OFF の選択 UI に使える。
解説
ニューモーフィズム凹ボタン(押し込まれた状態)は、UI コンポーネントカテゴリの「ボタン」に分類される実装パターンです。CSS のみで構成され、難易度はシンプルレベル。
内側に陰影を入れて「押し込まれている」状態を表現するニューモーフィズム凹ボタン。ON/OFF の選択 UI に使える。
仕組み
下記コードタブから HTML / CSS をそれぞれ確認・コピーできます。プレビュー領域では実際の動作をその場で確認可能です。
CSS プロパティだけで完結しているため、フレームワーク非依存・軽量に組み込めます。React / Vue / Astro / 静的 HTML どれにも持ち込み可能です。
注意点 / カスタマイズ時のポイント
ボタンクラスは BEM の __(modifier)で色違いを派生させる運用がおすすめ。:focus-visible のリングは消さずに残しておくとアクセシビリティが保てます。
使用例・適したシーン
- お問い合わせフォームの送信ボタン
- 資料ダウンロードの CTA
- ヒーローセクションの主要 CTA
- サブスク・申込ボタン
よくある質問
このスニペットは商用利用できますか?
はい。moatway がオリジナルで制作したスニペットは商用・個人問わず自由にご利用いただけます。クレジット表記も不要です。
そのまま貼り付ければ動きますか?
はい。HTML / CSS / JS タブのコードをそれぞれ自分のファイルにコピーして貼り付ければ動きます。クラス名が他の CSS と衝突しないよう、必要に応じてリネームしてください。
ブラウザ対応は?
最新 2 世代の Chrome / Safari / Firefox / Edge で動作確認しています。Internet Explorer はサポート対象外です。
Tailwind CSS でも実装できますか?
可能です。クラスベースのスタイルを Tailwind のユーティリティクラスに置き換えれば同じ動作になります。アニメーション・疑似要素については
@apply や arbitrary values が必要な場合があります。Web アクセシビリティ的に問題ありませんか?
<button> タグを使用しているため、キーボード Tab フォーカス・Enter / Space キー操作・スクリーンリーダー読み上げに対応します。フォーカスリングは visible のままにしておくことをおすすめします。