当前位置:首页 > CSS

css制作开关

2026-01-16 10:18:44CSS

CSS 制作开关

使用纯 CSS 制作开关效果可以通过伪元素、input[type="checkbox"]label 元素结合实现。以下是一个简单的实现方法:

基础 HTML 结构

<label class="switch">
  <input type="checkbox">
  <span class="slider"></span>
</label>

CSS 样式

.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: 34px;
}

.slider:before {
  border-radius: 50%;
}

方形开关

border-radius 设置为较小的值或移除:

.slider {
  border-radius: 4px;
}

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

禁用状态

为开关添加禁用状态的样式:

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

动画效果

通过 transition 属性控制开关滑动的动画效果:

.slider {
  transition: .4s;
}

.slider:before {
  transition: .4s;
}

自定义颜色

可以根据需求修改开关的背景色和滑块颜色:

css制作开关

input:checked + .slider {
  background-color: #4CAF50; /* 开启状态颜色 */
}

.slider {
  background-color: #ccc; /* 关闭状态颜色 */
}

注意事项

  • 使用 label 包裹 inputslider 可以确保点击任意部分都能切换开关状态。
  • inputopacity: 0 隐藏原生复选框,但保留其功能。
  • :before 伪元素用于创建滑块,通过 transform 实现滑动效果。

通过调整上述 CSS 属性,可以实现不同风格的开关效果。

标签: css
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css按钮制作

css按钮制作

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

css制作goole

css制作goole

使用CSS制作Google标志 Google标志由多彩的字母和简洁的字体组成,可以通过CSS的字体属性、颜色渐变和布局来实现。 字体选择 Google标志使用自定义字体"Product Sans",…

风车制作css

风车制作css

风车制作CSS方法 使用CSS创建风车效果可以通过动画和变换属性实现。以下是一个简单的风车旋转动画示例: HTML结构 <div class="windmill"> <…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯CSS和少量JavaScript可以创建一个动态的时钟。以下是实现步骤: HTML结构 <div class="clock"> <div…

css 字体库制作

css 字体库制作

字体库制作方法 使用 @font-face 规则在 CSS 中嵌入自定义字体,确保网页显示特定字体。 基本语法 @font-face { font-family: 'MyCustomFont'…