当前位置:首页 > 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 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red;…

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table&…

css图标制作

css图标制作

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

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

制作css选择器

制作css选择器

CSS选择器基础语法 CSS选择器用于定位HTML文档中的元素,以便为其应用样式。常见的基础选择器包括: 元素选择器:直接使用HTML标签名(如p、div) 类选择器:以.开头(如.header)…