当前位置:首页 > 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立体相册 使用CSS3的3D变换和过渡效果可以创建一个立体相册。以下是一个基本的实现方法。 HTML结构 <div class="photo-album"> <di…

怎么用css制作网页

怎么用css制作网页

使用CSS制作网页的基本方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是一些基本步骤和方法: 创建CSS文件 新建一个后缀为.css的文件,例如style.css。在HTML文件中通过&l…

css如何制作响应网页

css如何制作响应网页

响应式网页设计基础 使用CSS制作响应式网页的核心是通过媒体查询(Media Queries)和弹性布局(Flexbox/Grid)实现。媒体查询允许根据设备特性(如屏幕宽度)应用不同的样式规则。…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

怎么制作css

怎么制作css

理解CSS基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。CSS通过选择器匹配HTML元素,并为其定义样式规则。例如: p { color: blue; f…