当前位置:首页 > CSS

css制作开关

2026-01-16 10:18:44CSS

CSS 制作开关

使用纯 CSS 制作开关效果可以通过伪元素、input[type="checkbox"]label 元素结合实现。以下是一个简单的实现方法:

基础 HTML 结构

<label class="switch">
  <input type="checkbox">
  <span class="slider"></span>
</label>

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

圆角开关

如果需要更圆润的开关样式,可以调整 border-radius 的值:

css制作开关

.slider {
  border-radius: 34px;
}

.slider:before {
  border-radius: 50%;
}

方形开关

border-radius 设置为较小的值或移除:

.slider {
  border-radius: 4px;
}

.slider:before {
  border-radius: 4px;
}

禁用状态

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

css制作开关

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

动画效果

通过 transition 属性控制开关滑动的动画效果:

.slider {
  transition: .4s;
}

.slider:before {
  transition: .4s;
}

自定义颜色

可以根据需求修改开关的背景色和滑块颜色:

input:checked + .slider {
  background-color: #4CAF50; /* 开启状态颜色 */
}

.slider {
  background-color: #ccc; /* 关闭状态颜色 */
}

注意事项

  • 使用 label 包裹 inputslider 可以确保点击任意部分都能切换开关状态。
  • inputopacity: 0 隐藏原生复选框,但保留其功能。
  • :before 伪元素用于创建滑块,通过 transform 实现滑动效果。

通过调整上述 CSS 属性,可以实现不同风格的开关效果。

标签: css
分享给朋友:

相关文章

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { colo…

css导航制作

css导航制作

基础导航栏制作 使用HTML的无序列表 <ul> 和 <li> 构建导航结构,CSS清除默认样式并横向排列: <nav> <ul class="navb…

怎么制作css

怎么制作css

创建CSS文件 新建一个文本文件,将文件扩展名改为.css。例如styles.css。确保文件名简洁且能反映其用途。 编写CSS基础结构 CSS由选择器和声明块组成。选择器用于指定要样式化的HTM…

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 <…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="hori…