在JavaScript中实现选中时有对勾(勾选)效果,通常涉及到HTML的复选框(checkbox)元素与CSS样式的结合使用。以下是基础概念、优势、类型、应用场景以及实现方法的详细解释:
:checked
伪类用于选择被选中的表单元素。以下是一个简单的示例,展示如何使用HTML和CSS实现自定义的对勾效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Custom Checkbox</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<label class="checkbox-container">One
<input type="checkbox">
<span class="checkmark"></span>
</label>
</body>
</html>
/* 隐藏原生复选框 */
.checkbox-container input {
display: none;
}
/* 创建自定义复选框 */
.checkbox-container .checkmark {
display: inline-block;
width: 20px;
height: 20px;
background-color: #eee;
border-radius: 4px;
position: relative;
margin-right: 10px;
}
/* 当复选框被选中时改变背景颜色 */
.checkbox-container input:checked ~ .checkmark {
background-color: #2196F3;
}
/* 创建对勾 */
.checkbox-container .checkmark::after {
content: "";
position: absolute;
display: none;
}
/* 当复选框被选中时显示对勾 */
.checkbox-container input:checked ~ .checkmark::after {
display: block;
left: 7px;
top: 3px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
<label>
标签包裹复选框和自定义的<span>
元素,这样点击文本也会切换复选框的状态。.checkmark
类创建一个自定义的复选框样式。:checked
伪类和相邻兄弟选择器(~
)来改变选中状态下的样式。::after
来创建对勾形状,并在选中时显示。这种方法不仅提高了界面的美观性,还增强了用户体验。
领取专属 10元无门槛券
手把手带您无忧上云