当前位置:首页 > CSS

css切换按钮制作

2026-04-02 01:47:35CSS

基础样式切换按钮

使用CSS和HTML创建一个简单的切换按钮,通过复选框隐藏实现状态切换:

<label class="switch">
  <input type="checkbox">
  <span class="slider"></span>
</label>
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 34px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

动画增强效果

为切换按钮添加更丰富的动画效果:

css切换按钮制作

.slider {
  box-shadow: 0 0 1px #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 5px #2196F3;
}

.slider:after {
  content: "OFF";
  color: white;
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 70%;
  font-size: 10px;
}

input:checked + .slider:after {
  content: "ON";
  left: 30%;
}

不同风格变体

创建扁平化风格的切换按钮:

css切换按钮制作

.slider.flat {
  border-radius: 0;
}

.slider.flat:before {
  border-radius: 0;
}

iOS风格的切换按钮:

.slider.ios {
  background-color: #4CD964;
}

.slider.ios:before {
  background-color: white;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

使用伪类实现纯CSS切换

不使用JavaScript实现状态切换:

<label class="pure-switch">
  <input type="checkbox">
  <div class="switch-wrapper">
    <div class="switch-bg"></div>
    <div class="switch-thumb"></div>
  </div>
</label>
.pure-switch input {
  position: absolute;
  opacity: 0;
}

.switch-wrapper {
  position: relative;
  width: 50px;
  height: 24px;
}

.switch-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #e5e5e5;
  border-radius: 12px;
  transition: background 0.2s;
}

.switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
  transition: transform 0.2s;
}

input:checked ~ .switch-wrapper .switch-bg {
  background: #4CD964;
}

input:checked ~ .switch-wrapper .switch-thumb {
  transform: translateX(26px);
}

标签: 按钮css
分享给朋友:

相关文章

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .containe…

css制作许愿墙六块

css制作许愿墙六块

CSS 制作许愿墙六块布局 使用 CSS 创建一个六块许愿墙布局可以通过多种方式实现,以下是两种常见的方法:使用 CSS Grid 或 Flexbox。以下代码示例展示了如何实现这两种布局。 方…

css菜单制作

css菜单制作

CSS 菜单制作方法 水平导航菜单 使用 display: inline-block 或 flexbox 可以轻松创建水平导航菜单。以下是一个基本示例: <nav> <ul c…

css 制作表格

css 制作表格

CSS 制作表格的方法 使用 CSS 制作表格可以通过多种方式实现,包括原生 HTML 表格样式、Flexbox 布局或 Grid 布局。以下是几种常见的方法: 原生 HTML 表格样式 HTML…

css 制作按钮

css 制作按钮

基础按钮样式 使用CSS创建一个基础按钮需要定义display、padding、background-color和border等属性。以下是一个简单示例: .button { display:…