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 相关文章推荐
深入理解css属性的选择对动画性能的影响
Apr 20 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
May 09 HTML / CSS
Grid 宫格常用布局的实现
Jan 10 HTML / CSS
详解CSS3:overflow属性
Nov 17 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
Mar 17 HTML / CSS
canvas学习笔记之绘制简单路径
Jan 28 HTML / CSS
html5指南-7.geolocation结合google maps开发一个小的应用
Jan 07 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
Jan 30 HTML / CSS
HTML5注册页面示例代码
Mar 27 HTML / CSS
Html5踩坑记之mandMobile使用小记
Apr 02 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
关于HTML5+ API plusready的兼容问题
Nov 20 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
DOM XPATH获取img src值的query
2013/09/23 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
php实现三级级联下拉框
2016/04/17 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
详解如何理解vue的key属性
2019/04/14 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
django 单表操作实例详解
2019/07/30 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
如何让python的运行速度得到提升
2020/07/08 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
党员培训思想汇报
2014/01/07 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
亲子拓展活动方案
2014/02/20 职场文书
求职信内容怎么写
2014/05/26 职场文书
排查整治工作方案
2014/06/09 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
2014年医院工作总结
2014/11/20 职场文书
护理专业自我评价
2015/03/11 职场文书
2015年国庆节标语大全
2015/07/30 职场文书