那些你不知道的炫酷开关交互效果(12种)2

简介: 那些你不知道的炫酷开关交互效果(12种)

效果9

这也是一款较为生动的交互效果,状态从白天到黑夜的效果,比较适用于页面主题切换时使用。在切换的过程也增加了transition过渡,使整个过程较为柔和,核心的部分是由太阳切换到月亮的过程,太阳则是由linear-gradient线性渐变完成,月亮则是由纯黑色的背景和box-shadow配合border-radius实现,核心代码如下:

.slider:before {
  border-radius: 20px;
  background: linear-gradient(40deg,#ff0080,#ff8c00 70%);
  transition: .4s;
}
input:checked + .slider:before {
  background: #303136;
  box-shadow: inset -3px -2px 5px -2px #8983f7, inset -10px -4px 0 0 #a3dafb;
}

效果10

这是一款类似生活中使用的按钮开关效果,有按下弹起的效果,这里使用了rotateskew两种变形使按钮有弹起的效果,切换的过程也增加了transition过渡效果。核心部分代码如下:

.switch-left {
  transform: rotate(15deg) skewX(15deg);
}
input:checked + .switch-left {
  transform: rotate(0deg) skewX(0deg);
}

效果11

上面的按钮中有YES/NO的文字显示,这一款则是将文字和圆形开关两者结合在了一起,动画中也的文字和圆形元素都增加了贝塞尔曲线的效果,给用户操作体验增加了生动的感觉。核心代码如下:

.tgl-ios + .tgl-btn:after {
  transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}
.tgl-ios + .tgl-btn:before {
  transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

效果12

最后来一个纯文本类型的翻转切换效果,文本内容也是通过标签自定义属性传递到伪元素中,开关翻转效果则是通过设置旋转Y轴rotateY(-180deg)实现。核心代码如下:

<label class="tgl-btn" data-tg-off="Nope" data-tg-on="Yeah!"></label>
.tgl-flip + .tgl-btn:before {
  background: #FF3A19;
  content: attr(data-tg-off);
}
.tgl-flip + .tgl-btn:active:before {
  transform: rotateY(-20deg);
}
.tgl-flip:checked + .tgl-btn:before {
  transform: rotateY(180deg);
}

#彩蛋

最后来个有所夸张的彩蛋开关效果,这个效果原则上已经不是在开关组件功能层面了,但是还是可以看看具体的实现效果,有兴趣的同学可以看看在线代码的源码实现过程。

在线预览

码上掘金在线效果预览:code.juejin.cn/pen/7172092…

最后

本次整理的toggle开关交互分享就结束了,希望可以在你的项目中带来一定的收获,如果你还有什么好的设计交互效果欢迎留言讨论。后期还会继续整理分享其他功能组件的优质设计交互效果,如果有什么期望整理的组件也欢迎留言哈。

看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~


目录
相关文章
|
存储
串口助手(布局,图标,串口号,隐藏界面,显示实时时间)
串口助手(布局,图标,串口号,隐藏界面,显示实时时间)
199 0
|
6月前
|
编解码
一文带你了解 嵌入式Typec 接口切换开关
一文带你了解 嵌入式Typec 接口切换开关
107 0
|
12月前
HMI-30-【运动模式】仪表右侧模块开始编写
今天喝了点小茶水,来了点写代码的感觉,那么今天就尝试吧运动模式仪表右侧的模块写了,我的资源文件中,只有音乐,所以右侧模块还是先把框架搭好,仅实现音乐模块。
HMI-30-【运动模式】仪表右侧模块开始编写
|
12月前
HMI-32-【运动模式】增加灯光面板和底本信息栏
上一篇中,我们把音乐模块的图片显示功能实现了,今天来给我们的运动模式收个小尾巴,把灯光控制面本和底部信息栏也显示出来,其实这个两个如果偷懒的换,可以把舒适模式的挪过来,但是考虑到布局,还是重新实现以下吧,方式和舒适模式基本一致,都是建立模块。这里不会太详细展开。
HMI-32-【运动模式】增加灯光面板和底本信息栏
|
前端开发
那些你不知道的炫酷开关交互效果(12种)1
那些你不知道的炫酷开关交互效果(12种)
119 0
|
移动开发 前端开发
前端(四):移动端页面闪烁、设备识别、全屏切换
移动端页面闪烁、设备识别、全屏切换
129 0
【sunnyland】【unity2D】使用碰撞器实现平台开关移动以及吃药解锁超级跳模式
【sunnyland】【unity2D】使用碰撞器实现平台开关移动以及吃药解锁超级跳模式
|
Java 应用服务中间件 开发工具
功能开关最佳实践
功能开关是一个轻量级的动态配置框架,通过功能开关可以动态管理代码中的配置项,根据需求为某个应用开启或关闭部分功能,或设置某个性能指标的阈值。功能开关通常用于设置黑白名单、运行时动态调整日志级别、降级业务功能等场景。本文介绍最佳实践。
441 1
医学四视图-008-增加十字线开关功能,按钮显隐功能
医学四视图-008-增加十字线开关功能,按钮显隐功能
253 0
医学四视图-008-增加十字线开关功能,按钮显隐功能
|
安全 Java 测试技术
给你的项目添加一个灵活的“开关”
  年后项目提测了两次,每次提测都是通宵达旦完成~第二次通宵的原因主要可以用一个字来形容:等。   项目中对接了一个代付通道,每次测试代付功能都是发起代付请求之后,需要等十几到二十几分钟才能返回代付结果,甚至期间通道偶尔会出现一些问题,更尴尬的是等了好长时间,返回的结果是代付失败(代付通道测试环境返回的代付结果都是随机的)。