CSS 伪类修改input选中样式
主要是用到了after伪类和字体符号。
1 input{ 2 -webkit-appearance: none; 3 -moz-appearance: none; 4 appearance: none; 5 display: inline-block; 6 } 7 input:after{ 8 content: ""; 9 font-size: 18px; 10 display: inline-block; 11 width: 14px; 12 height: 14px; 13 line-height: 14px; 14 text-align: center; 15 border: 1px solid #666fff; 16 vertical-align: bottom; 17 } 18 input:checked:after{ 19 content: "\2714"; 20 }
1 <label for="gender-male">男</label><input id="gender-male" type="radio" name="gender" value="男"> 2 <label for="gender-female">女</label><input id="gender-female" type="radio" name="gender" value="女">
效果如下:
---------------------------------------2020-09-10 新增---------------------------------------
CSS实现开关效果
1 input#status{ 2 -webkit-appearance: none; 3 -moz-appearance: none; 4 appearance: none; 5 display: inline-block; 6 width: 46px; 7 height: 20px; 8 padding: 0 3px; 9 border-radius: 8px; 10 background-color: #ccc; 11 position: relative; 12 outline: none; 13 } 14 15 input#status:checked{ 16 background-color: limegreen; 17 justify-content: flex-end; 18 } 19 20 input#status::after{ 21 position: absolute; 22 left: 4px; 23 top: 1px; 24 content: ""; 25 display: inline-block; 26 width: 18px; 27 height: 18px; 28 border-radius: 50%; 29 background-color: #eee; 30 transition: left ease-in .2s; 31 } 32 33 input#status:checked::after{ 34 background-color: #aaa; 35 left: 24px; 36 }
1 <div style="display: flex; align-items: center;"> 2 <label for="status">切换</label><input id="status" type="checkbox"> 3 </div>
效果如下:
赞 (0)