…">
当前位置:首页 > CSS

怎么制作css开关

2026-04-02 18:00:11CSS

使用纯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文字提示:

<label class="switch">
  <input type="checkbox">
  <span class="slider">
    <span class="on">ON</span>
    <span class="off">OFF</span>
  </span>
</label>

添加对应的CSS样式:

.slider .on, .slider .off {
  position: absolute;
  font-size: 10px;
  color: white;
  top: 50%;
  transform: translateY(-50%);
}

.slider .on {
  left: 8px;
  display: none;
}

.slider .off {
  right: 8px;
}

input:checked + .slider .on {
  display: block;
}

input:checked + .slider .off {
  display: none;
}

创建方形开关样式

修改圆角属性实现直角开关:

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

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

添加禁用状态

通过CSS选择器实现禁用样式:

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

HTML中禁用开关:

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

实现不同尺寸开关

通过CSS变量控制开关尺寸:

.small-switch {
  --width: 40px;
  --height: 24px;
  --slider-size: 16px;
}

.large-switch {
  --width: 80px;
  --height: 45px;
  --slider-size: 35px;
}

应用尺寸变量到样式规则:

怎么制作css开关

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

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

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

标签: css
分享给朋友:

相关文章

网页制作css

网页制作css

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

div css制作导航

div css制作导航

使用div和CSS制作导航栏 导航栏是网站的重要组成部分,用于帮助用户快速找到所需内容。以下是使用div和CSS制作导航栏的方法: HTML结构 创建一个基本的导航栏HTML结构,使用div和ul元…

css制作登录界面

css制作登录界面

使用CSS制作登录界面 登录界面是网站常见的功能模块,通过CSS可以实现美观且响应式的设计。以下是一个基础的登录界面实现方法。 HTML结构 基础的HTML结构包含表单元素,如输入框、按钮和标签。…

css 制作箭头

css 制作箭头

使用 CSS 边框制作箭头 通过调整元素的边框宽度和颜色,利用透明边框的特性可以创建箭头效果。例如,制作一个向右的箭头: .arrow-right { width: 0; height: 0…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。此方法适用于正方形元素,确保宽度和高度相等。 .circle { width: 10…