当前位置:首页 > CSS

css制作开关

2026-01-08 18:34:27CSS

使用纯CSS制作开关

通过CSS的伪元素和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);
}

添加动画效果

通过CSS过渡属性可以让开关切换更平滑。修改.slider.slider:beforetransition属性:

css制作开关

.slider {
  transition: background-color 0.3s ease-in-out;
}
.slider:before {
  transition: transform 0.3s ease-in-out;
}

不同尺寸的开关

调整CSS变量可快速改变开关大小:

css制作开关

:root {
  --switch-width: 60px;
  --switch-height: 34px;
  --slider-size: calc(var(--switch-height) - 8px);
}

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

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

input:checked + .slider:before {
  transform: translateX(calc(var(--switch-width) - var(--slider-size) - 8px));
}

禁用状态样式

为开关添加禁用状态的可视化反馈:

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

自定义颜色方案

通过CSS变量实现主题色快速更换:

:root {
  --switch-off: #ccc;
  --switch-on: #2196F3;
  --slider-color: white;
}

.slider {
  background-color: var(--switch-off);
}

input:checked + .slider {
  background-color: var(--switch-on);
}

.slider:before {
  background-color: var(--slider-color);
}

标签: css
分享给朋友:

相关文章

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

css网页制作

css网页制作

CSS网页制作基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333;…

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0…

网页制作css

网页制作css

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

css网页制作教程

css网页制作教程

CSS网页制作教程 CSS(层叠样式表)是用于控制网页外观和布局的核心技术。以下是CSS网页制作的关键步骤和技巧: 基础语法与引入方式 CSS规则由选择器和声明块组成: 选择器 { 属性:…

制作css

制作css

CSS基础语法 CSS规则由选择器和声明块组成。选择器指向需要设置样式的HTML元素,声明块包含一个或多个用分号分隔的声明。每个声明由属性和值组成,用冒号分隔。 选择器 { 属性: 值; 属…