的联动特性…">
当前位置:首页 > CSS

css制作开关

2026-02-26 23:13:20CSS

使用纯CSS制作开关

通过CSS的checkbox hack技术可以实现纯CSS开关效果。核心思路是利用<label><input type="checkbox">的联动特性。

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

添加动画效果的开关

为开关添加更流畅的过渡效果,可以调整transition属性:

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

不同风格的开关设计

  1. 方形开关

    .slider {
    border-radius: 0;
    }
    .slider:before {
    border-radius: 0;
    }
  2. iOS风格开关

    .slider {
    background-color: #e9e9eb;
    }
    input:checked + .slider {
    background-color: #34c759;
    }
  3. Material Design风格

    .slider {
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }

禁用状态样式

为开关添加禁用状态样式:

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

响应式尺寸调整

通过CSS变量实现尺寸可配置:

:root {
  --switch-width: 60px;
  --switch-height: 34px;
}

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

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

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

css制作开关

标签: css
分享给朋友:

相关文章

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

纯css制作幻灯片

纯css制作幻灯片

纯CSS制作幻灯片的方法 使用纯CSS制作幻灯片主要依赖CSS动画和关键帧(@keyframes)技术,结合HTML结构实现轮播效果。以下是两种常见的实现方式: 方法一:使用CSS动画和无限循环 H…

css制作锁屏页面

css制作锁屏页面

使用CSS制作锁屏页面 锁屏页面通常包含一个背景、时间显示以及可能的解锁按钮或输入框。以下是实现锁屏页面的关键CSS代码和结构。 HTML结构 <!DOCTYPE html> <…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…

css网页制作

css网页制作

CSS 网页制作基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键知识点和实用方法: 基本语法结构 CSS 规则由选择器和声明块组成: 选择器 { 属性…