…">
当前位置:首页 > CSS

制作css开关

2026-02-12 18:44:13CSS

CSS 开关实现方法

纯CSS开关(基于复选框)

利用CSS的:checked伪类和相邻兄弟选择器实现开关效果,无需JavaScript。

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

动画增强版开关

添加阴影和更平滑的过渡效果:

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

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

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

不同风格的开关

方形开关变体:

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

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

小尺寸开关:

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

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

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

禁用状态处理

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

自定义颜色方案

通过CSS变量实现主题色定制:

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

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

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

开关状态文本显示

在滑块上添加ON/OFF文字:

制作css开关

.slider:after {
  content: "OFF";
  color: white;
  display: block;
  position: absolute;
  transform: translateX(10px);
}

input:checked + .slider:after {
  content: "ON";
  transform: translateX(-10px);
}

标签: css
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…

css 制作导航

css 制作导航

基础导航栏制作 使用HTML无序列表<ul>和CSS样式创建横向导航栏 <nav> <ul class="navbar"> <li><…

css jquery

css jquery

CSS 与 jQuery 的基础用法 CSS(层叠样式表)用于控制网页的样式和布局,而 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Aja…

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作 制作类似淘宝的导航栏需要关注几个关键点:结构清晰、响应式设计、悬停效果以及图标使用。以下是具体实现方法: HTML结构 <div class="nav-container…