当前位置:首页 > CSS

css制作开关按钮

2026-01-28 14:23:04CSS

CSS 制作开关按钮

开关按钮(Toggle Switch)是一种常见的 UI 元素,用于切换状态(如开启/关闭)。以下是几种实现方式:

纯 CSS 开关按钮

使用 HTML 的 <input type="checkbox"> 和 CSS 伪元素实现:

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

圆角矩形开关按钮

修改 border-radius 可以改变按钮样式:

.slider {
  border-radius: 8px;
}

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

添加文字提示

在按钮上显示 ON/OFF 文字:

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

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

不同尺寸调整

通过修改基础尺寸变量控制大小:

:root {
  --switch-width: 80px;
  --switch-height: 40px;
  --slider-size: 32px;
}

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

.slider:before {
  height: var(--slider-size);
  width: var(--slider-size);
}

禁用状态样式

为禁用状态添加特殊样式:

css制作开关按钮

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

这些方法提供了灵活的开关按钮实现方案,可根据具体需求调整颜色、尺寸和交互效果。

标签: 按钮css
分享给朋友:

相关文章

css制作导航条

css制作导航条

导航条的基本结构 使用HTML的<nav>标签和<ul>列表创建导航条的基本结构。导航项通常包含链接,示例代码如下: <nav> <ul>…

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

css下拉框制作

css下拉框制作

使用原生HTML和CSS制作下拉框 HTML的<select>元素结合CSS可以创建基础下拉框: <select class="custom-dropdown"> <…

css怎么制作个人主页

css怎么制作个人主页

设计布局结构 使用CSS的Flexbox或Grid布局创建响应式结构。Flexbox适合一维排列(如导航栏),Grid适合二维布局(如整体页面分区)。例如: .container { displ…

div css制作

div css制作

使用 DIV 和 CSS 制作网页布局 DIV 是 HTML 中的块级元素,结合 CSS 可以灵活地创建各种网页布局。以下是常见的使用方法: 基础 DIV 结构 <div class="c…

css制作导航

css制作导航

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