html5+css3胶囊按钮代码

效果

代码

html 复制代码
<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<title></title>  
<style>  
    /* 胶囊开关的样式 */  
    .switch {  
        position: relative;  
        display: inline-block;  
        width: 60px;  
        height: 34px;  
    }  
    /*隐藏input*/
    .switch input {  
        display: none;  
    }
    /*胶囊外形*/
    .slider {  
        position: absolute;  
        cursor: pointer;  
        top: 0;  
        left: 0;  
        right: 0;  
        bottom: 0;  
        background-color: #ccc;  
        -webkit-transition: .4s;  
        transition: .4s;
        border-radius: 26px;
    }  
    /*胶囊里面的圆圈*/
    .slider::before {  
        position: absolute;  
        content: "";  
        height: 26px;  
        width: 26px;  
        left: 4px;  
        bottom: 4px;  
        background-color: white;  
        -webkit-transition: .4s;  
        transition: .4s;
        border-radius: 50%;
    }

    /*当input被点击时*/
    /*改变颜色*/
    input:checked + .slider {  
        background-color: #2196F3;  
    }  
   
    /*移动位置*/
    input:checked + .slider::before {  
        -webkit-transform: translateX(26px);  
        -ms-transform: translateX(26px);  
        transform: translateX(26px);  
    }  
  
    
</style>  
</head>  
<body>  
  
<label class="switch">  
    <input type="checkbox">  
    <span class="slider round"></span>  
</label>  
  
<script>  
    // JavaScript用于处理开关状态(如果需要)  
    var switchCheckbox = document.querySelector('.switch input[type="checkbox"]');  
    var slider = document.querySelector('.slider');  
  
    switchCheckbox.addEventListener('change', function() {  
        slider.classList.toggle('round');  
    });  
</script>  
  
</body>  
</html>
相关推荐
携欢3 分钟前
PortSwigger靶场之将 XSS 存储到onclick带有尖括号和双引号 HTML 编码以及单引号和反斜杠转义的事件中通关秘籍
前端·html·xss
三小河10 分钟前
工作中的Ai工具汇总
前端
mapbar_front29 分钟前
react项目开发—关于代码架构/规范探讨
前端·react.js
二木一夕35 分钟前
Vue 3 的组合式 API和传统选项式 API区别(vue2转vue3,两者差异)
前端
LuckySusu37 分钟前
【vue篇】Vue 项目中的静态资源管理:assets vs static 终极指南
前端·vue.js
LuckySusu38 分钟前
【vue篇】Vue.delete vs delete:数组删除的“陷阱”与正确姿势
前端·vue.js
LuckySusu40 分钟前
【vue篇】Vue 模板编译原理:从 Template 到 DOM 的翻译官
前端·vue.js
小菜摸鱼42 分钟前
Node.js + vue3 大文件-切片上传全流程(视频文件)
前端·node.js
LuckySusu1 小时前
【vue篇】Vue 2 响应式“盲区”破解:如何监听对象/数组属性变化
前端·vue.js
LuckySusu1 小时前
【vue篇】Vue Mixin:可复用功能的“乐高积木”
前端·vue.js