当前位置:首页 > 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);
}

动画增强效果

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

.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%;
}

不同风格变体

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

.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实现状态切换:

css切换按钮制作

<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制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown-…

css图标制作

css图标制作

CSS 图标制作方法 使用 Unicode 或图标字体 通过引入字体库(如 Font Awesome)或直接使用 Unicode 符号生成图标。例如,Font Awesome 的图标可通过类名调用:…

css制作搜索框

css制作搜索框

制作搜索框的基本结构 使用HTML创建一个简单的搜索框结构,包含输入框和搜索按钮: <div class="search-box"> <input type="text" pl…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…

css的制作

css的制作

CSS 的基本概念 CSS(层叠样式表)用于控制网页的样式和布局。通过 CSS 可以定义字体、颜色、间距、背景等视觉效果,使 HTML 结构更美观。 CSS 的引入方式 内联样式:直接在 HTML…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…