的联动特性…">
当前位置:首页 > 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. 方形开关

    css制作开关

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

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

    css制作开关

    .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制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

css制作教程

css制作教程

CSS基础入门 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是一个系统化的学习路径: 选择器与基本语法 CSS规则由选择器和声明块组成: 选择器 { 属性: 值;…

css二级菜单制作

css二级菜单制作

使用纯CSS制作二级菜单 HTML结构采用嵌套的<ul>和<li>标签,主菜单项包含子菜单: <nav class="menu"> <ul>…