css实现checkbox勾选计数效果代码
代码语言:html
所属分类:表单美化
代码描述:css实现checkbox勾选计数效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { margin: 2em; background: #f0f0f0; display: flex; gap: 2rem; flex-wrap: wrap; align-items: flex-start; } .check-group { background: #fff; max-width: 13rem; padding: 1.5rem; border-radius: 0.5rem; box-shadow: 0 1px 3px rgba(0, 0, 10, 0.2); counter-reset: total; counter-reset: checked; } .check-group > * + * { margin-top: 0.75rem; } .check-group .checkbox { counter-increment: total; } .check-group input[type=checkbox]:checked { counter-increment: checked; } .check-group__result { font-weight: bold; padding-top: 0.75rem; border-top: 1px solid rgba(0, 0, 0, 0.2); } .check-group__result:after { content: counter(checked) " / " counter(total); padding-left: 1ch; } .checkbox { cursor: pointer; display: flex; align-items: center; } .checkbox__input { position: absolute; width: 1.375em; height: 1.375em; opacity: 0; cursor: pointer; } .checkbox__input:checked + .checkbox__icon .tick { stroke-dashoffset: 0; } .checkbox__icon { width: 1.375em; height: 1.375em; flex-shrink: 0; overflow: visible; } .checkbox__icon .tick { stroke-dasharray: 20px; stroke-dashoffset: 20px; transition: stroke-dashoffset 0.2s ease-out; } .checkbox__label { margin-left: 0.5em; } </style> </head> <body > <div class="check-group"> <label for="myCheckbox01" class="checkbox"> <input class="checkbox__input" type="checkbox" id="myCheckbox01"> <svg class="checkbox__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"> <rect width="21" height="21" x=".5" y=".5" fill="#FFF" stroke="#006F94" rx="3" /> <path class="tick" stroke="#6EA340" fill="none" stroke-linecap="round" stroke-width="4" d="M4 10l5 5 9-9" /> </svg> <span class="checkbox__label">Dogs</span> </label> <label for="myCheckbox02" class="checkbox"> <input class="checkbox__input" type="checkbox" id="myCheckbox02"> <svg class="checkbox__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"> <rect width="21" height="21" x=".5" y=".5" fill="#FFF" stroke="#006F94" rx="3" /> <path class="tick" stroke="#6EA340" fill="none" stroke-linecap="round" stroke-width="4" d="M4 10l5 5 9-9" /> </svg> <span class="checkbox__label">Elephants</span> </label> <label for="myCheckbox03" class="checkbox"> <input class="checkbox__input" type="checkbox" id="myCheckbox03"> <svg class="checkbox__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"> <rect width="21" height="21" x=".5" y=".5" fill="#FFF" stroke="#006F94" rx="3" /> <path class="tick" stroke="#6EA340" fill="none" stroke-linecap="round" stroke-width="4" d="M4 10l5 5 9-9" /> </svg> <span class="checkbox__label">Birds</span> </label> <label for="myCheckbox04" class="checkbox"> <input class="checkbox__input" type="checkbox" id="myCheckbox04"> <svg class="checkbox__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"> <rect width="21" height="21" x=".5" y=".5" fill="#FFF" stroke="#006F94" rx="3" /> <path class="tick&qu.........完整代码请登录后点击上方下载按钮下载查看
网友评论0