web299.com
全部
教育
语言/资格考试
法律
互联网
政务民生
Word模板
Excel模板
PPT模板
网页特效
小程序模板
网站模板
首页
教育
语言/资格考试
法律
互联网
政务民生
Word模板
Excel模板
PPT模板
网页特效
小程序模板
网站模板
当前位置:
首页
>
网页特效
>
按钮特效
最简单的纯CSS3滑动开关按钮特效
分类:
按钮特效
日期:
2024-05-14
点击(1)
评论(0)
演 示
免费下载
简介
##### HTML结构 该滑动按钮的基本HTML结构使用一个label元素来包裹一个input元素和2个span元素。span.text-switch是按钮上的文字和背景,span.toggle-btn是滑动的按钮。 ```html
``` ##### CSS样式 整个滑动按钮设置固定的宽度和高度,并设置一定的圆角,采用相对定位方式: ```html .switch-btn { position: relative; display: block; vertical-align: top; width: 80px; height: 30px; border-radius: 18px; cursor: pointer; } ``` input元素使用绝对定位,它位于父元素的左上角位置,并将它的透明度设置为0,使其不可见。 ```html .checked-switch { position: absolute; top: 0; left: 0; opacity: 0; } ``` .text-switch是按钮上的背景和文字。它和父元素具有相同的高度和圆角。带第一个DEMO中,开始时为它设置红色的背景和深红色的边框,以及白色的文字,并将文字转换为大写形式。 ```html .text-switch { background-color: #ed5b49; border: 1px solid #d2402e; border-radius: inherit; color: #fff; display: block; font-size: 15px; height: inherit; position: relative; text-transform: uppercase; } ``` 滑动按钮上的ON/OFF文本使用.text-switch的:before和:after伪元素来制作。 ```html .text-switch:before, .text-switch:after { position: absolute; top: 50%; margin-top: -.5em; line-height: 1; -webkit-transition: inherit; -moz-transition: inherit; -o-transition: inherit; transition: inherit; } .text-switch:before { content: attr(data-no); right: 11px; } .text-switch:after { content: attr(data-yes); left: 11px; color: #FFFFFF; opacity: 0; } ``` 为了在用户点击滑动按钮时产生效果,这里使用了checkbox hack技术。在.checked-switch被选中的时候,修改.text-switch的背景色和边框颜色。并将.text-switch元素的:before伪元素的透明度修改为0,将其隐藏。同时将:after伪元素的透明度设置为1,显示不同的文本。 ```html .checked-switch:checked ~ .text-switch { background-color: #00af2c; border: 1px solid #068506; } .checked-switch:checked ~ .text-switch:before { opacity: 0; } .checked-switch:checked ~ .text-switch:after { opacity: 1; } ``` 滑动的圆形按钮的制作方法基本相同: ```html .toggle-btn { background: linear-gradient(#eee, #fafafa); border-radius: 100%; height: 28px; left: 1px; position: absolute; top: 1px; width: 28px; } .toggle-btn::before { color: #aaaaaa; content: "|||"; display: inline-block; font-size: 12px; letter-spacing: -2px; padding: 4px 0; vertical-align: middle; } .checked-switch:checked ~ .toggle-btn { left: 51px; } .text-switch, .toggle-btn { transition: All 0.3s ease; -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; } ```
相关推荐
html5浪漫粒子表白文字特效
SlidesJS幻灯片特效
html5瀑布流相册特效
css3 svg实现的情人节表白鲜花动画特效
t-scroll.js基于ES6的DOM元素,过渡动画库插件
纯js写省市区三级联动效果
广告
广告