纯CSS+INPUT勾选框实现开关按钮代码
网页上经常需要用到开关按钮,这里提供一个用纯CSS实现改变INPUT勾选框的样式实现选中和未选中对应开关的代码:
<input class="switch-btn switch-btn-animbg" type="checkbox" value="OFF"> <label><input class="switch-btn switch-btn-animbg" type="checkbox" checked> 默认选中</label> <style> .switch-btn { cursor: pointer; width: 45px; height: 28px; position: relative; border: 1px solid #dfdfdf; background-color: #fdfdfd; box-shadow: #dfdfdf 0 0 0 0 inset; border-radius: 15px; background-clip: content-box; display: inline-block; -webkit-appearance: none; user-select: none; outline: none; } .switch-btn:before { content: ''; width: 25px; height: 25px; position: absolute; top: 0; left: 0; border-radius: 20px; background-color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .4); } .switch-btn:checked { border-color: #56b0d4; box-shadow: #56b0d4 0 0 0 16px inset; background-color: #56b0d4; } .switch-btn:checked:before { left: 18px; } .switch-btn.switch-btn-animbg { transition: background-color ease .4s; } .switch-btn.switch-btn-animbg:before { transition: left .3s; } .switch-btn.switch-btn-animbg:checked { box-shadow: #dfdfdf 0 0 0 0 inset; background-color: #56b0d4; transition: border-color .4s, background-color ease .4s; } .switch-btn.switch-btn-animbg:checked:before { transition: left .3s; } </style>
样式如下:
如果需要按钮中显示文本内容,比如显示开关状态,那可以使用下面的代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>纯css编写开关按钮(二)</title> <input class="switch-btn switch-btn-animbg" type="checkbox" value="OFF"> <label> <input class="switch-btn switch-btn-animbg" type="checkbox" checked> 默认选中 </label> <style> .switch-btn { cursor: pointer; width: 80px; height: 28px; position: relative; border: 1px solid #dfdfdf; background-color: #fdfdfd; box-shadow: #dfdfdf 0 0 0 0 inset; border-radius: 15px; background-clip: content-box; display: inline-block; -webkit-appearance: none; user-select: none; outline: none; } .switch-btn:before { content: '开'; color:red; font-size:16px; font-weight:bold;padding-left:8px; width: 40px; height: 25px; position: absolute; top: 0; left: 0; border-radius: 20px; background-color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .4); } .switch-btn:checked { border-color: #56b0d4; box-shadow: #56b0d4 0 0 0 16px inset; background-color: #56b0d4; } .switch-btn:checked:before { content: '关'; left: 29px; } .switch-btn.switch-btn-animbg { transition: background-color ease .4s; } .switch-btn.switch-btn-animbg:before { transition: left .3s; } .switch-btn.switch-btn-animbg:checked { box-shadow: #dfdfdf 0 0 0 0 inset; background-color: #56b0d4; transition: border-color .4s, background-color ease .4s; } .switch-btn.switch-btn-animbg:checked:before { transition: left .3s; } </style>
样式如下:
顶(0)
踩(0)
- 最新评论