純粋なセマンティック HTML/CSS を使用した画像ベースのチェックボックスの作成 既製のソリューションに依存する代わりに、この機能を実装できます。純粋にセマンティックな HTML と CSS で、CSS 操作の理解を促進します。 ステップ 1: セマンティック HTML チェックボックスに個別の ID 属性を定義し、 例: ログイン後にコピー ステップ 2: チェックボックスを非表示にする CSS を適用してチェックボックスを非表示にします。たとえば、display: none;. ステップ 3: ビジュアル チェックボックスのスタイルを設定する CSS の ::before 擬似要素を使用してチェックボックスの視覚的表現を作成します: label::before { background-image: url(unchecked.png); }ログイン後にコピー ステップ 4: チェック状態の実装 スタイルを変更するチェックボックスがチェックされている場合、CSS の :checked 擬似セレクターを使用します: :checked + label::before { background-image: url(checked.png); }ログイン後にコピー 隣接する兄弟セレクターにより、スタイルの変更が非表示のチェックボックスの直後のラベルにのみ適用されることが保証されます。 ステップ 5: 位置、寸法、トランジション ラベルを正しく配置し、適切な寸法を割り当て、スムーズなトランジションを適用して、ユーザー エクスペリエンスを向上させます。 例 (JavaScript スニペット) ): ul { list-style-type: none; } li { display: inline-block; } input[type="checkbox"][id^="cb"] { display: none; } label { border: 1px solid #fff; padding: 10px; display: block; position: relative; margin: 10px; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } label::before { background-color: white; color: white; content: " "; display: block; border-radius: 50%; border: 1px solid grey; position: absolute; top: -5px; left: -5px; width: 25px; height: 25px; text-align: center; line-height: 28px; transition-duration: 0.4s; transform: scale(0); } label img { height: 100px; width: 100px; transition-duration: 0.2s; transform-origin: 50% 50%; } :checked+label { border-color: #ddd; } :checked+label::before { content: "✓"; background-color: grey; transform: scale(1); } :checked+label img { transform: scale(0.9); box-shadow: 0 0 5px #333; z-index: -1; }ログイン後にコピー