当前位置:首页 > CSS

css制作开关按钮

2026-01-28 14:23:04CSS

CSS 制作开关按钮

开关按钮(Toggle Switch)是一种常见的 UI 元素,用于切换状态(如开启/关闭)。以下是几种实现方式:

纯 CSS 开关按钮

使用 HTML 的 <input type="checkbox"> 和 CSS 伪元素实现:

<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);
}

圆角矩形开关按钮

修改 border-radius 可以改变按钮样式:

.slider {
  border-radius: 8px;
}

.slider:before {
  border-radius: 5px;
}

添加文字提示

在按钮上显示 ON/OFF 文字:

.slider:after {
  content: "OFF";
  color: white;
  display: block;
  position: absolute;
  transform: translateX(10px);
}

input:checked + .slider:after {
  content: "ON";
  transform: translateX(-10px);
}

不同尺寸调整

通过修改基础尺寸变量控制大小:

:root {
  --switch-width: 80px;
  --switch-height: 40px;
  --slider-size: 32px;
}

.switch {
  width: var(--switch-width);
  height: var(--switch-height);
}

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

禁用状态样式

为禁用状态添加特殊样式:

css制作开关按钮

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

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

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

相关文章

网页制作css

网页制作css

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

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的::before和::after伪元素结合border属性可以创建简单的几何形状图标。例如制作一个三角形: .triangle { w…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templa…