appearance: none
去掉原生自带的勾。接着创建一个矩形, 保留 border-left
与 border-bottom
的边, 进行旋转得到勾。场景: 蓝色区域为可以更改 checked
的地方, 最开始使用 JS 计算出区域 1 与区域 2 的宽度, 使之相加得到蓝色区域的宽度。其实使用 css 中的 display: inline-block
可以自动获取子节点的宽度。
使用了默认属性值则会配合 JS 动态插入到 style
属性, 这样子有个缺陷: 用户传入自定义的 class 属性
不会生效。(因为 style 的优先级大于 class 传入的优先级)