Live Demo
マウスを乗せるかTabキーでフォーカスして動作を確認してください。
Source Code
必要なコードをコピーして実装に利用できます。
HTML
<div class="tbx-1240"><label class="consent"><input type="checkbox" name="tb1240-demo"/><span class="visual" aria-hidden="true">✓</span><span class="body"><b>Send product updates</b><small>最新情報をメールで受け取る</small><span class="detail">配信はいつでも停止できます。必須項目ではありません。</span></span></label></div>
CSS
.tbx-1240{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:212px;width:100%;max-width:100%;padding:19px;overflow:hidden;font-family:system-ui,-apple-system,sans-serif;color:#18314a;}
.tbx-1240 * ,.tbx-1240 *::before,.tbx-1240 *::after{box-sizing:border-box}
.tbx-1240{background:#e5ecec}.tbx-1240 .consent{cursor:pointer;position:relative;display:flex;align-items:start;gap:12px;width:min(100%,315px);padding:17px 18px;background:#fff;border:1px solid #cddfe0;border-radius:9px;box-shadow:0 8px 20px #3d777615;transition:border-color .25s,box-shadow .25s}.tbx-1240 input{position:absolute;width:1px;height:1px;opacity:0}.tbx-1240 .visual{flex:0 0 23px;width:23px;height:23px;border:2px solid #98babc;border-radius:6px;display:grid;place-items:center;font-size:14px;color:transparent;transition:background .25s,color .25s,border-color .25s}.tbx-1240 .body{display:grid;gap:4px;flex:1;min-width:0}.tbx-1240 .body b{font-size:13px}.tbx-1240 .body small{font-size:10px;color:#648187}.tbx-1240 .detail{display:block;max-height:0;overflow:hidden;opacity:0;transform:translateY(-5px);transition:max-height .32s,opacity .32s,transform .32s;font-size:10px;color:#456c72;line-height:1.5}.tbx-1240 .consent:is(:hover,:focus-within){border-color:#3d8585;box-shadow:0 9px 22px #3d77762c}.tbx-1240 .consent:is(:hover,:focus-within) .detail{max-height:65px;opacity:1;transform:none}.tbx-1240 input:checked+.visual{background:#2f8080;color:white;border-color:#2f8080}.tbx-1240 input:focus-visible+.visual{outline:3px solid #cb864c;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.tbx-1240 *, .tbx-1240 *::before,.tbx-1240 *::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important;scroll-behavior:auto!important}}
How to Use
HTMLを設置し、CSSを既存サイトのスタイルシートに追加します。既存クラスとの競合を避け、サイトの配色・サイズに合わせて調整してください。
Use Case
Form, Accessibility
Technical Notes
ホバー非対応端末でも主要操作ができるようにし、キーボードフォーカス時の表示と動き軽減設定を確認してください。
Mobile:タッチ端末ではホバーできないことがあります。必要な情報・操作はホバー以外でも利用できるようにしてください。
Browser:最新版Chrome・Safari・Firefox・Edgeをご使用ください。
Reduced Motion:prefers-reduced-motion: reduce対応。