React复选框点击右侧标签无法触发active状态的解决咨询
解决点击
问题核心是:点击
修改styles.css中的:active相关规则,替换或补充如下:
/* 点击.form-check容器内的任何元素(复选框或标签)时,给复选框应用亮度效果 */ .form-check:active .form-check-input { filter: brightness(90%); }
原理:点击复选框或标签时,点击事件会冒泡到父容器.form-check,此时容器会进入:active状态,通过该状态选中内部的复选框,统一应用亮度降低效果。
修改后的完整styles.css示例:
.account-wrapper-form .form-check-input:checked{ background-color: #FA8232; border-color: #FA8232; } .account-wrapper-form .form-check-input:checked[type=checkbox]{ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); } .form-check:active .form-check-input { filter: brightness(90%); }
这样不管点击复选框本体还是右侧标签,复选框都会触发亮度降低的:active效果。
内容的提问来源于stack exchange,提问作者Programming MERN
相关产品推荐
相关产品推荐

