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的新特性
Sep 05 HTML / CSS
CSS3教程(5):网页背景图片
Apr 02 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
CSS3转换功能transform主要属性值分析及实现分享
May 06 HTML / CSS
CSS3的RGBA中关于整数和百分比值的转换
Aug 04 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
Apr 28 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
Jun 03 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
Mar 07 HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 HTML / CSS
html5 canvas合成海报所遇问题及解决方案总结
Aug 03 HTML / CSS
canvas环形倒计时组件的示例代码
Jun 14 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 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 正则表达式的学习探讨
2013/06/06 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
js控制CSS样式属性语法对照表
2012/12/11 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
react 父子组件之间通讯props
2018/09/08 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
python学生管理系统的实现
2020/04/05 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
android面试问题与答案
2016/12/27 面试题
介绍一下write命令
2012/09/24 面试题
数控专业自荐书范文
2014/03/16 职场文书
绿色环保标语
2014/06/12 职场文书
2014年妇联工作总结
2014/11/21 职场文书
模范教师事迹材料
2014/12/16 职场文书
师德承诺书
2015/01/20 职场文书
公司奖励通知
2015/04/21 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL