快捷搜索:   服务器  PHP  安全  IIS  linux 安全

纯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>

样式如下:

图片.png

如果需要按钮中显示文本内容,比如显示开关状态,那可以使用下面的代码

<!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>

样式如下:

图片.png

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论