…">
当前位置:首页 > 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文字:

.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

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red…

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css样式制作

css样式制作

CSS 样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过选择器和属性组合,可以精确调整元素的布局、颜色、字体等样式。 选择器类型 元素选择器:p { color: red; }…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

css 制作石头

css 制作石头

使用CSS制作石头效果 通过CSS的border-radius、box-shadow和background属性可以模拟石头的自然外观。以下是一个简单实现: <div class="stone…