当前位置:首页 > CSS

制作css开关

2026-01-08 21:09:12CSS

使用纯CSS创建开关

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

添加开关状态文本

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

.slider:after {
  content: 'OFF';
  color: white;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 70%;
  font-size: 10px;
}

input:checked + .slider:after {
  content: 'ON';
  left: 30%;
}

方形开关样式修改

将圆角改为直角实现方形开关:

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

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

不同尺寸开关实现

通过修改基础尺寸创建不同大小的开关:

制作css开关

.switch.small {
  width: 40px;
  height: 22px;
}

.switch.small .slider:before {
  height: 16px;
  width: 16px;
}

标签: css
分享给朋友:

相关文章

纯css制作幻灯片

纯css制作幻灯片

纯CSS制作幻灯片的方法 使用纯CSS制作幻灯片主要依赖CSS动画和关键帧(@keyframes)技术,结合HTML结构实现轮播效果。以下是两种常见的实现方式: 方法一:使用CSS动画和无限循环 H…

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…

css表格制作表格

css表格制作表格

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

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的伪元素和边框属性可以创建简单的几何形状图标。例如,制作一个三角形图标: .triangle { width: 0; heigh…

css 制作三角形

css 制作三角形

使用边框制作三角形 通过设置元素的边框属性,利用边框交汇处的斜切特性生成三角形。将元素的宽高设为0,通过调整不同方向边框的宽度和颜色实现。 .triangle { width: 0; hei…