实现交互逻辑。
当前位置:首页 > CSS

css开关按钮制作

2026-03-12 05:12:27CSS

基本HTML结构

创建一个简单的开关按钮需要HTML和CSS配合。HTML部分通常使用<label><input type="checkbox">实现交互逻辑。

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

基础CSS样式

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

添加禁用状态

通过:disabled选择器为不可用状态添加样式。

css开关按钮制作

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

方形开关变体

将圆角改为直角即可实现方形开关。

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

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

小尺寸开关

通过调整尺寸参数实现更小的开关。

css开关按钮制作

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

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

.small-switch input:checked + .slider:before {
  transform: translateX(18px);
}

动画效果增强

添加缩放动画使交互更生动。

.slider:active:before {
  transform: scale(1.2);
}

input:checked + .slider:active:before {
  transform: translateX(26px) scale(1.2);
}

自定义颜色方案

通过CSS变量实现主题色快速更换。

:root {
  --switch-on: #4CAF50;
  --switch-off: #f44336;
}

.custom .slider {
  background-color: var(--switch-off);
}

.custom input:checked + .slider {
  background-color: var(--switch-on);
}

图标开关

在滑块上添加图标指示状态。

.icon-switch .slider:after {
  content: "✖";
  position: absolute;
  right: 8px;
  top: 3px;
  color: white;
}

.icon-switch input:checked + .slider:after {
  content: "✓";
  left: 8px;
  right: auto;
}

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

相关文章

css制作详情页

css制作详情页

CSS制作详情页的关键步骤 布局规划 确定详情页的整体布局结构,通常包括头部、商品展示区、参数区、评价区等模块。使用Flexbox或Grid布局实现响应式设计,确保在不同设备上正常显示。 样式设计…

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css制作圆弧

css制作圆弧

CSS 制作圆弧的方法 使用 border-radius 属性 通过 border-radius 可以轻松创建圆弧效果。该属性控制元素的圆角大小,值越大圆弧越明显。例如: .arc { widt…

css制作简历

css制作简历

CSS 制作简历的基本方法 使用CSS制作简历可以提升视觉效果和可读性。以下是一些关键步骤和技巧。 HTML结构 简历的HTML结构应清晰,通常包含头部、教育背景、工作经历、技能等部分。示例结构如下…

vue实现粘贴按钮

vue实现粘贴按钮

实现粘贴按钮的步骤 在Vue中实现粘贴按钮功能,可以通过以下方法完成: 使用Clipboard API Vue组件中可以通过Clipboard API实现粘贴功能。需要获取用户剪贴板内容并处理。…

vue实现按钮功能

vue实现按钮功能

Vue 实现按钮功能的方法 在 Vue 中实现按钮功能可以通过多种方式完成,以下是一些常见的实现方法: 使用 v-on 或 @ 指令绑定点击事件 通过 v-on:click 或简写 @click 可…