创建标准复选框的替代方案,用户单击图像即可缩小图像并覆盖复选框。
纯语义 HTML/CSS 解决方案
此解决方案消除了对预制解决方案的需求,并增强了对 CSS 技术的理解。
步骤:
使用 label::before 伪元素作为复选框的视觉替换:
利用 :checked 伪选择器在选中复选框时更改图像:
纯CSS复选框替换
此修改展示了一个纯CSS驱动的解决方案,不使用图像:
codepen 示例演示了这一点实际技术:
http://codepen.io/anon/pen/wadwpx
/* Style the labels and images */ label { border: 1px solid #fff; padding: 10px; display: block; position: relative; margin: 10px; cursor: pointer; /* disable text selection */ -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%; } /* Style the checked state */ :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; } /* Style the unordered list that contains the checkboxes */ ul { list-style-type: none; } /* Style the individual list items */ li { display: inline-block; }
<ul> <li><input type="checkbox">
以上是如何创建一个使用图像并在单击时缩小图像并覆盖复选框的复选框替代方案?的详细内容。更多信息请关注PHP中文网其他相关文章!