首页 > 其他分享 >最简单的纯CSS3滑动开关按钮特效

最简单的纯CSS3滑动开关按钮特效

时间:2024-11-21 16:07:58浏览次数:1  
标签:CSS3 特效 checked text transition switch 按钮 btn

在线预览    下载

HTML结构

该滑动按钮的基本HTML结构使用一个<label>元素来包裹一个<input>元素和2个<span>元素。span.text-switch是按钮上的文字和背景,span.toggle-btn是滑动的按钮。

<label class="switch-btn">     <input class="checked-switch" type="checkbox" />     <span class="text-switch" data-yes="yes" data-no="no"></span>     <span class="toggle-btn"></span> </label>              
 CSS样式

整个滑动按钮设置固定的宽度和高度,并设置一定的圆角,采用相对定位方式:

.switch-btn {   position: relative;   display: block;   vertical-align: top;   width: 80px;   height: 30px;   border-radius: 18px;   cursor: pointer; }               

input元素使用绝对定位,它位于父元素的左上角位置,并将它的透明度设置为0,使其不可见。

.checked-switch {   position: absolute;   top: 0;   left: 0;   opacity: 0; }              

.text-switch是按钮上的背景和文字。它和父元素具有相同的高度和圆角。带第一个DEMO中,开始时为它设置红色的背景和深红色的边框,以及白色的文字,并将文字转换为大写形式。

.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伪元素来制作。

.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,显示不同的文本。

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

滑动的圆形按钮的制作方法基本相同:

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

标签:CSS3,特效,checked,text,transition,switch,按钮,btn
From: https://www.cnblogs.com/liylllove/p/18560994

相关文章

  • 可视化CSS3渐变背景颜色代码生成插件
    在线预览 特效下载 这是一款可以在线生成CSS3渐变背景颜色代码的可视化插件。你可以通过调节界面上给出的颜色、色相、饱和度和亮度滑块,以及渐变方向滑块来生成各种线性渐变,屏幕上会给出相应的CSS3线性渐变代码。该渐变背景颜色插件可以设置的选项有:BaseColor:Hue:色相......
  • RTSP播放器EasyPlayer.js播放器点击全屏按钮报:fullscreen request error TypeError Di
    流媒体技术分为顺序流式传输和实时流式传输两种。顺序流式传输允许用户在下载的同时观看,而实时流式传输则允许用户实时观看内容。流媒体播放器负责解码和呈现内容,常见的播放器包括VLC和HTML5播放器等。流媒体技术的应用场景广泛,包括娱乐、教育、视频监控、企业培训等。关于iframe......
  • 三圆点CSS3 loading加载动画特效库
     在线预览       插件下载 安装可以通过npm来安装three-dots.css。npminstallthree-dots--save 使用方法在页面中引入three-dots.css。<linkhref="css/three-dots.css"rel="stylesheet"> HTML结构然后在你需要添......
  • RedMine自定义--新增复制问题标题和链接按钮
    前言:Redmine本身的复制链接按钮只能复制问题的链接详情,复制出来的格式是:ip.xxxx/issues/200  这次自定义出来一个按钮,希望可以复制问题的标题和链接,这样发送问题给别人时能先知道这个问题大概是什么 一:首先找到redmine菜单栏的代码路径,在:redmine/app/views/issues的_action......
  • CSS3 超实用属性:pointer-events(可穿透图层的鼠标事件)
    1、是什么pointer-events 直译为指针事件,该属性指定在什么情况下某个DOM可以成为鼠标事件的target。简而言之,就是允许/禁止DOM的鼠标事件(click事件、hover事件、mouse事件等鼠标事件)2、具体属性分析用法分析:pointer-events:auto|none|visiblePainted|visibleFill|......
  • 第6章: 图像滤镜与特效
    图像滤镜和特效是图像处理中常用的技术之一,可以用来增强图像的细节、突出特定的视觉效果。Pillow提供了多种滤镜方法,包括模糊、锐化、边缘检测、轮廓等。1.1基础滤镜概览Pillow中的ImageFilter模块提供了多个常用滤镜。这些滤镜可以直接应用于图像,生成各种特效。f......
  • 检测 HTML5\CSS3\JAVASCRIPT 在浏览器的适应情况
    https://www.cnblogs.com/czhyuwj/p/4796690.html CSS3SelectorsTest:这是CSS3.INFO网站提供的css选择器测试页面,它能够详细显示当前浏览器对所有CSS3选择器的支持情况。启动测试,浏览器会自动测验,并已列表的方式显示当前浏览器对所有css3选择器的支持情况  http://tool......
  • 数据可视化CSS3
    可视化-解决方案2D动画-transform坐标系transform-origin3D动画-transform3D旋转-rotateZ、rotateX、rotateY3D旋转-rotate3d3D透视-perspective3D位移-translateX、translateY、translateZ3D位移-translate3d3D缩放-scaleX、scaleY、scaleZ3D缩放-scale3d......
  • fastadmin 数据记录行上添加操作按钮并设置权限
    1.一键curd以及配置菜单编写控制器方法-业务逻辑再次一键生成菜单-生成刚刚写审核通过方法的控制器。 2.自定义控制器中方法。3.查看角色组的权限,并授予该角色权限。4.前端修改index页面,因为需要权限所以需要加上一句话data-operate-log="{:$auth->check('......
  • vue3使用tsParticles实现爆开五彩碎纸屑动效,简单高效免费(撒花特效、粒子效果)
    实现效果:tsParticles|ConfettiPreset|JavaScriptParticles,ConfettiandFireworksanimationsforyourwebsitetsParticles-Easilycreatehighlycustomizableparticles,confettiandfireworksanimationsandusethemasanimatedbackgroundsforyourweb......