当前位置:首页 > CSS

css制作开关按钮

2026-02-13 08:42:50CSS

使用纯CSS制作开关按钮

通过CSS的checkbox hack技术可以实现无需JavaScript的开关按钮。核心思路是利用<input type="checkbox"><label>元素的联动效果。

<label class="switch">
  <input type="checkbox">
  <span class="slider"></span>
</label>
.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);
}

添加动画效果

通过CSS过渡属性可以增强交互体验:

.slider {
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

不同样式变体

方形开关按钮只需修改边框半径:

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

.slider.rect:before {
  border-radius: 2px;
}

禁用状态处理

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

尺寸调整技巧

使用CSS变量实现灵活尺寸控制:

.switch {
  --switch-width: 60px;
  --switch-height: 34px;
  --slider-size: calc(var(--switch-height) - 8px);
  width: var(--switch-width);
  height: var(--switch-height);
}

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

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

响应式设计考虑

结合媒体查询适应不同设备:

css制作开关按钮

@media (max-width: 768px) {
  .switch {
    --switch-width: 50px;
    --switch-height: 28px;
  }
}

标签: 按钮css
分享给朋友:

相关文章

网页制作 css

网页制作 css

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

css表单制作

css表单制作

基础表单结构 使用HTML创建表单的基本结构,包含<form>标签及输入字段。表单通常需要action(提交地址)和method(提交方法)属性。 <form action="/s…

css怎么制作三角形

css怎么制作三角形

使用边框制作三角形 通过设置元素的边框宽度和颜色,可以创建不同方向的三角形。将元素的宽度和高度设为0,利用边框的透明属性实现。 .triangle-up { width: 0; height…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc"> &…

css制作滑动切换

css制作滑动切换

使用CSS实现滑动切换效果 方法一:使用CSS Transition和Transform 通过transition和transform属性实现平滑的滑动动画效果。 .slider-container…

css如何制作响应网页

css如何制作响应网页

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