.checkboxFn(@checkbox-prefix-cls: ~"@{css-prefix}checkbox") { @checkbox-inner-prefix-cls: ~"@{checkbox-prefix-cls}-inner"; // 普通状态 .@{checkbox-prefix-cls} { display: inline-block; vertical-align: middle; white-space: nowrap; cursor: pointer; outline: none; line-height: 1; position: relative; &:hover { .@{checkbox-inner-prefix-cls} { border-color: #bcbcbc; } } &-inner { display: inline-block; width: 14px; height: 14px; position: relative; top: 0; left: 0; border: 1px solid @border-color-base; border-radius: 2px; background-color: #fff; .transition2(border-color @transition-time @ease-in-out,background-color @transition-time @ease-in-out); &:after { content: ''; display: table; width: 5px; height: 8px; position: absolute; top: 1px; left: 4px; border: 2px solid #fff; border-top: 0; border-left: 0; .transform(rotate(45deg) scale(0)); .transition(all @transition-time @ease-in-out); } } &-input { width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; cursor: pointer; opacity: 0; } } // 选中状态 .@{checkbox-prefix-cls}-checked { &:hover { .@{checkbox-inner-prefix-cls} { border-color: @primary-color; } } .@{checkbox-inner-prefix-cls} { border-color: @primary-color; background-color: @primary-color; &:after { content: ''; display: table; width: 5px; height: 8px; position: absolute; top: 1px; left: 4px; border: 2px solid #fff; border-top: 0; border-left: 0; .transform(rotate(45deg) scale(1)); .transition(all @transition-time @ease-in-out); } } } // 禁用 .@{checkbox-prefix-cls}-disabled { &.@{checkbox-prefix-cls}-checked { &:hover { .@{checkbox-inner-prefix-cls} { border-color: @border-color-base; } } .@{checkbox-inner-prefix-cls} { background-color: #f3f3f3; border-color: @border-color-base; &:after { animation-name: none; border-color: #ccc; } } } &:hover { .@{checkbox-inner-prefix-cls} { border-color: @border-color-base; } } .@{checkbox-inner-prefix-cls} { border-color: @border-color-base; background-color: #f3f3f3; &:after { animation-name: none; border-color: #f3f3f3; } } .@{checkbox-inner-prefix-cls}-input { cursor: default; } & + span { color: #ccc; cursor: @cursor-disabled; } } .@{checkbox-prefix-cls}-wrapper { cursor: pointer; font-size: @font-size-base; display: inline-block; & + & { margin-left: 8px; } } .@{checkbox-prefix-cls}-wrapper + span, .@{checkbox-prefix-cls} + span { margin-left: 4px; margin-right: 4px; } .@{checkbox-prefix-cls}-group { font-size: @font-size-base; &-item { display: inline-block; } } }