当前位置:首页 > CSS

css切换按钮制作

2026-03-12 05:40:08CSS

CSS切换按钮制作方法

基础HTML结构

创建一个简单的切换按钮需要HTML复选框元素和对应的标签:

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

添加文字指示

可以在按钮上显示ON/OFF文字:

.slider:after {
  content: "OFF";
  color: white;
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 70%;
  font-size: 10px;
  font-family: Verdana, sans-serif;
}

input:checked + .slider:after {
  content: "ON";
  left: 30%;
}

方形切换按钮变体

修改border-radius属性可创建方形按钮:

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

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

小尺寸版本

通过调整尺寸参数创建更小的切换按钮:

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

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

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

平滑过渡效果

添加transition属性使切换更流畅:

.slider, .slider:before {
  transition: all 0.3s ease;
}

禁用状态样式

为禁用状态添加视觉反馈:

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

暗黑模式适配

添加prefers-color-scheme媒体查询:

css切换按钮制作

@media (prefers-color-scheme: dark) {
  .slider {
    background-color: #555;
  }
}

这些方法可以根据具体需求组合使用,创建各种样式的CSS切换按钮。通过调整颜色、尺寸和过渡效果,可以匹配不同的设计风格。

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

相关文章

vue实现按钮

vue实现按钮

Vue 实现按钮的方法 使用原生 HTML 按钮 在 Vue 模板中可以直接使用 HTML 的 <button> 元素,通过 v-on 或 @ 绑定点击事件。 <template&…

css制作下拉导航条

css制作下拉导航条

使用纯CSS制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown-…

使用css制作钢琴块

使用css制作钢琴块

使用 CSS 制作钢琴块 钢琴块通常由黑白键交替排列组成,可以通过 HTML 和 CSS 实现。以下是实现钢琴块的步骤: HTML 结构 创建一个包含黑白键的容器,使用 <div> 元素…

css如何制作响应网页

css如何制作响应网页

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

用css制作下拉菜单

用css制作下拉菜单

使用纯CSS制作下拉菜单 HTML结构 基础的下拉菜单需要嵌套的HTML结构,通常使用<ul>和<li>标签实现层级关系: <div class="dropdown"&…

使用css制作同心圆

使用css制作同心圆

使用 CSS 制作同心圆 同心圆可以通过嵌套多个圆形元素并利用 CSS 的定位和样式属性实现。以下是几种常见方法: 方法一:使用绝对定位和多个 div 通过嵌套多个 div 元素,设置相同的圆心位置…