html 开关状态,纯css如何实现开关效果?(代码示例)

本文通过代码示例详细介绍如何仅使用CSS实现开关效果。利用checkbox的选中状态,配合position定位,创建出开关的开启和关闭效果。最终,通过隐藏input并调整CSS样式,完成了一个基本的开关功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面本篇文章通过代码示例来给大家介绍一下纯css是如何实现开关效果的。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

7916c7a97cac64e8bc4c8adcd9f44e42.png

首先是构思:

我们使用标签来实现这个效果。

checkbox的选中、未选中的特性,刚好对应开关的打开、关闭

on:打开 off:关闭

未选中,则关闭开关

选中,则打开开关

效果:

266ed4b14e5f13ba9c862849d3dda07c.png

开始画出off、on状态的草图

这里要讲解一下,使用了position来实现的定位。有不了解的同学可以打开MDN查看相关知识

off状态草图

on状态草图

.toggle{

display:inline-block;

position:relative;

height:25px;

width:50px;

border-radius:4px;

background:#CC0000;

}

.cookie{

position:absolute;

left:2px;

top:2px;

bottom:2px;

width:50%;

background:rgba(230,230,230,0.9);

border-radius:3px;

}

.toggle2{

display:inline-block;

position:relative;

height:25px;

width:50px;

padding:2px;

border-radius:4px;

background:#66CC33;

}

.cookie2{

position:absolute;

right:2px;

top:2px;

bottom:2px;

width:50%;

background:rgba(230,230,230,0.9);

border-radius:3px;

}

效果:

c2ee6956b79a03433f0ca294a776df0a.png

然后我们将这两个草图放到label内

效果:

eb3eac65b235eb0bf21e6c4e1d76db4c.png

结合label和checkbox整理、优化css

.toggle-finish{

cursor:pointer;

display:inline-block;

position:relative;

height:25px;

width:50px;

border-radius:4px;

background:#CC0000;

}

.cookie-finish{

position:absolute;

left:2px;

top:2px;

bottom:2px;

width:50%;

background:rgba(230,230,230,0.9);

border-radius:3px;

}

input:checked + .toggle-finish{

background:#66CC33;

}

input:checked + .toggle-finish .cookie-finish{

left:auto;

right:2px;

}

效果:

49190403b122b682a4b76f0691943512.png

到此为止就已经基本实现一个开关的功能了,记得将input隐藏起来哦。

更多web前端开发知识,请查阅 HTML中文网 !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值