CSS3 Tab动画实例之背景切换动态效果


Posted in HTML / CSS onAugust 23, 2021

CSS 3 动画实例-Tab 背景切换的动态效果,具体代码如下所示:

<style type="text/css">
.slide-tabs { display:flex; position:relative; border:1px solid #3d3d3d; border-radius:10px; width:150px; overflow:hidden; background:#1c1c1c; }
.slide-tabs * { z-index:2; }
.slide-tabs input[type=radio] { display:none; }
.slide-tabs .tab { display:flex; align-items:center; justify-content:center; border-radius:9px; height:18px; font-size:12px; color:#fff; cursor:pointer; }
.slide-tabs .glider { display:flex; position:absolute; border-radius:9px; height:18px; background:#3da35a; z-index:1; transition:0.25s ease-out; } /*降低 z-index */

.slide-tabs input[type=radio]:checked + label { color:#fff; } /*按需修改当前项颜色*/
.slide-tabs input[type=radio]:nth-of-type(1):checked ~ .glider { transform:translateX(0%); }
.slide-tabs input[type=radio]:nth-of-type(2):checked ~ .glider { transform:translateX(100%); }
.slide-tabs input[type=radio]:nth-of-type(3):checked ~ .glider { transform:translateX(200%); }

.slide-tabs.tabs-3x .tab,
.slide-tabs.tabs-3x .glider { width:50px; }
</style>

<div class="slide-tabs tabs-3x">
    <input type="radio" id="radio-1" value="1" name="tabs" checked="checked">
    <label class="tab" for="radio-1">日</label>
    <input type="radio" id="radio-2" value="2" name="tabs">
    <label class="tab" for="radio-2">周</label>
    <input type="radio" id="radio-3" value="3" name="tabs">
    <label class="tab" for="radio-3">月</label>
    <span class="glider"></span>
</div>

代码如上,当点击“日、周、月”时,除了选中当前项,还会有下面的绿色块移动的效果。如下图:

CSS3 Tab动画实例之背景切换动态效果

巧妙一

使用 radio,这使得不需要 JavaScript 去设置当前项。

同时隐藏了 radio,而 label 的 for 属性使 label 与 radio 关联起来了,点了 label 相当于点了 radio。

巧妙二

transition 与 transform:translateX 的配合,其中 translateX 指 x 方向的位移。

到此这篇关于CSS3 Tab动画实例之背景切换动态效果的文章就介绍到这了,更多相关css3 tab背景切换效果内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3的resize属性使用初探
Sep 27 HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
Nov 03 HTML / CSS
分享全球十款超强HTML5开发工具
May 14 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
Jun 03 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
Apr 26 HTML / CSS
Canvas制作的下雨动画的示例
Mar 06 HTML / CSS
AmazeUI 单选框和多选框的实现示例
Aug 18 HTML / CSS
css3 filter属性的使用简介
Mar 31 HTML / CSS
关于HTML编码导致的乱码问题
Sep 04 HTML / CSS
CSS使用伪类控制边框长度的方法
Jan 18 HTML / CSS
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
如何使用 resize 实现图片切换预览功能
Aug 23 #HTML / CSS
css中z-index: 0和z-index: auto的区别
Aug 23 #HTML / CSS
CSS Transition通过改变Height实现展开收起元素
Aug 07 #HTML / CSS
css3中transform属性实现的4种功能
Aug 07 #HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 #HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 07 #HTML / CSS
You might like
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
微信支付的开发流程详解
2016/09/13 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
js实现简易ATM功能
2020/10/27 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
python访问抓取网页常用命令总结
2017/04/11 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
python爬取招聘要求等信息实例
2020/11/20 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
优秀员工自荐信范文
2013/10/05 职场文书
物流专业大学应届生求职信
2013/11/03 职场文书
艺术应用与设计个人的自我评价
2013/11/23 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
家长对孩子的评语
2014/04/18 职场文书
亚运会口号
2014/06/20 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
横空出世观后感
2015/06/09 职场文书
务工证明怎么写
2015/06/18 职场文书
人力资源部工作计划
2019/05/14 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书