当前位置:首页 > 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));
}

响应式设计考虑

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

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

css制作开关按钮

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

相关文章

网页制作css

网页制作css

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

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 &l…

css 制作按钮

css 制作按钮

基础按钮样式 使用CSS创建一个基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单示例: .button { pad…

css制作箭头

css制作箭头

使用 CSS 边框制作箭头 通过调整元素的 border 属性,利用透明边框和实色边框的组合生成箭头。例如,创建一个向右的箭头: .arrow-right { width: 0; hei…

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead&g…