当前位置:首页 > CSS

css制作开关按钮

2026-04-01 17:35:03CSS

使用纯CSS制作开关按钮

通过CSS可以创建自定义样式的开关按钮,无需依赖JavaScript或图片。以下是几种常见的实现方式:

HTML结构

基础HTML结构通常使用<label><input type="checkbox">组合:

<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 {
  border-radius: 0;
}

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

添加文字内容

在滑块上显示ON/OFF文字:

.slider:after {
  content: "OFF";
  color: white;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

input:checked + .slider:after {
  content: "ON";
  left: 10px;
  right: auto;
}

禁用状态样式

添加禁用状态的视觉效果:

input:disabled + .slider {
  opacity: 0.5;
  cursor: not-allowed;
}

尺寸调整

通过修改基础尺寸变量可调整开关大小:

.switch {
  --width: 60px;
  --height: 34px;
  --slider-size: 26px;
  width: var(--width);
  height: var(--height);
}

.slider:before {
  width: var(--slider-size);
  height: var(--slider-size);
}

动画效果增强

添加弹性动画效果:

css制作开关按钮

input:checked + .slider:before {
  transform: translateX(26px);
  animation: bounce 0.3s ease-in-out;
}

@keyframes bounce {
  0%, 100% { transform: translateX(26px); }
  50% { transform: translateX(30px); }
}

这些方法提供了灵活的开关按钮实现方案,可根据项目需求调整颜色、尺寸和动画效果。

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

相关文章

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

css个人简历制作两页

css个人简历制作两页

使用CSS制作两页个人简历 创建两页的个人简历需要合理布局和分页控制,以下是实现方法: HTML基础结构 <!DOCTYPE html> <html lang="zh-CN">…

css模板制作

css模板制作

CSS 模板制作方法 制作 CSS 模板的核心是设计一套可复用的样式规则,适用于多种网页或项目。以下是具体方法: 定义基础样式 设置全局默认样式,包括字体、颜色、边距等。例如: body {…

css导航条制作

css导航条制作

水平导航条制作 使用display: inline-block或flexbox布局创建水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul class="h…

css制作下拉菜单

css制作下拉菜单

使用纯CSS制作下拉菜单 通过HTML和CSS可以创建无需JavaScript的下拉菜单,主要利用:hover伪类和display属性控制显示隐藏。 HTML结构示例: <div class…