那些你不知道的炫酷开关交互效果(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开关交互分享就结束了,希望可以在你的项目中带来一定的收获,如果你还有什么好的设计交互效果欢迎留言讨论。后期还会继续整理分享其他功能组件的优质设计交互效果,如果有什么期望整理的组件也欢迎留言哈。

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


目录
相关文章
|
5月前
|
人工智能 自然语言处理 安全
程序员都在偷偷用的AI编程神器!2025高效自动写代码工具全解析
AI编程革命正悄然兴起。李响团队调研显示,AI助手大幅提升开发效率,GitHub Copilot、CodeWhisperer、Tabnine各具优势,而新兴的Lynx AI更以自然语言生成全栈应用,零门槛、多端适配,助力开发者从重复劳动中解放,专注创新。
程序员都在偷偷用的AI编程神器!2025高效自动写代码工具全解析
|
5G 网络架构 索引
【科普文】为什么无线速率分144M、300M、866M?怎么来的?
【科普文】为什么无线速率分144M、300M、866M?怎么来的?
|
缓存 NoSQL 数据库
探秘Redis读写策略:CacheAside、读写穿透、异步写入
本文介绍了 Redis 的三种高可用性读写模式:CacheAside、Read/Write Through 和 Write Behind Caching。CacheAside 简单易用,但可能引发数据不一致;Read/Write Through 保证数据一致性,但性能可能受限于数据库;Write Behind Caching 提高写入性能,但有数据丢失风险。开发者应根据业务需求选择合适模式。
2451 2
探秘Redis读写策略:CacheAside、读写穿透、异步写入
|
7月前
|
JavaScript API 数据安全/隐私保护
Vuex 插件和 Pinia 插件在使用场景上有哪些区别?
Vuex 插件和 Pinia 插件在使用场景上有哪些区别?
565 127
|
安全 Java API
阿里云——Java实现手机短信验证码功能
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。
9649 7
阿里云——Java实现手机短信验证码功能
|
开发框架 前端开发 JavaScript
前端框架Layui的使用讲解(Layui搭建登录注册页面)(一)
前端框架Layui的使用讲解(Layui搭建登录注册页面)
1147 0
|
Java Android开发
Android 保存资源图片到相册最新写法适用于Android10.0及以上
Android 保存资源图片到相册最新写法适用于Android10.0及以上
1325 0
|
数据采集 存储 中间件
Python进行网络爬虫:Scrapy框架的实践
【8月更文挑战第17天】网络爬虫是自动化程序,用于从互联网收集信息。Python凭借其丰富的库和框架成为构建爬虫的首选语言。Scrapy作为一款流行的开源框架,简化了爬虫开发过程。本文介绍如何使用Python和Scrapy构建简单爬虫:首先安装Scrapy,接着创建新项目并定义爬虫,指定起始URL和解析逻辑。运行爬虫可将数据保存为JSON文件或存储到数据库。此外,Scrapy支持高级功能如中间件定制、分布式爬取、动态页面渲染等。在实践中需遵循最佳规范,如尊重robots.txt协议、合理设置爬取速度等。通过本文,读者将掌握Scrapy基础并了解如何高效地进行网络数据采集。
|
Web App开发 存储 安全
就一次!带你彻底搞懂CSRF攻击与防御
与XSS攻击相比,利用CSRF漏洞发动攻击会比较困难,这也是在网络上看起来CSRF的人气小于XSS的原因之一。下面我们来利用CSRF漏洞发起攻击,并针对攻击进行防御,彻底弄懂CSRF,话不多说,我们直接开冲。
|
缓存 前端开发 JavaScript
前端领域驱动设计的一些思考
前端领域驱动设计的一些思考
1347 0

热门文章

最新文章