使用纯语义 HTML/CSS 创建基于图像的复选框
您可以使用以下方式实现此功能,而不是依赖预制的解决方案纯语义 HTML 和 CSS,促进您对 CSS 操作的理解。
第 1 步:语义 HTML
为复选框定义不同的 id 属性并将它们包装在
示例:
<input type="checkbox">
步骤 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; }
以上是如何使用纯语义 HTML 和 CSS 创建基于图像的复选框?的详细内容。更多信息请关注PHP中文网其他相关文章!