如何使用CSS实现选项卡页切换效果

  介绍

这篇文章主要介绍如何使用CSS实现选项卡页切换效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

三种写法:

1,利用:悬停选择器

缺点:只有鼠标在元素上面的时候才有效果,无法实现选中和默认显示某一个的效果

2,利用一个标签的锚点+:目标选择器

缺点:因为锚点会将选中的元素滚动到页面最上面,每次切换位置都要移动,体验极差。

3,利用标签和无线电的绑定关系和无线电选中时的:检查来实现效果

缺点:HTML结构元素更复杂

如何使用CSS实现选项卡页切换效果

经过实验发现第三种方法达到的效果最好。所以下面讲一下第三种实现的方法。

这种方法的写法不固定,我查资料的时候各种各样的写法都有一度让我一头雾水的。最后看完发现总体思路都是一样的,无非就是下面的几个步骤。

<李>

绑定标签和广播:这个不用说id和属性绑定

<李>

隐藏电台按钮:这个方法有很多充分发挥你们的想象力就可以了,我见过的方法有设置显示:没有;隐藏的,设置绝对定位,将左设置为很大的负值,移动到页面外达到隐藏效果,设置* *绝对定位:使元素脱离文档流,然后不透明度:0;* *设置为透明来达到隐藏效果。

<李>

隐藏多余的选项卡页:和上面同理,还可以通过z - index设置层级关系来相互遮挡。

<李>

设置默认项:在默认按钮上添加检查=癱hecked"李属性

<李>

设置选中效果:利用+选择器和~选择器来设置选中对应元素时下方的选项卡页的样式,来达到选中的效果

/*,当广播为选中状态时设置它的test-label兄弟元素的属性,*/输入(type=皉adio"):检查+ .test-label  {   ,,,/*,为了修饰存在的边框背景属性,*/,,,,边框颜色:# cbcccc;   ,,,border-bottom-color:, # fff;   ,,,背景:,# fff;   ,,,/*,为了修饰存在的层级使下边框遮挡下方div的上边框,*/,,,z - index:, 10;   }/*,当广播为选中状态时设置与它同级的tab-box元素的显示层级,*/输入(type=皉adio"):检查~ .tab-box  {   ,,,/*,选中时提升层级,遮挡其他选项卡页达到选中切换的效果,*/,,,z - index:, 5;   }

这样就可以实现一个标签页切换的效果了,不用一点儿js,当然肯定也有兼容性的问题。实际操作中选项卡页还是使用js比较好。下面是小演示的代码,样式比较多主要是为了实现各种选中效果,真正用来达到选择切换目地的核心代码就几行

演示地址

代码:

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞      & lt; head>   ,,,& lt; meta  charset=癠TF-8"比;   ,,,& lt; meta  name=皏iewport",内容=翱矶?设备宽度,初始=1.0,比;   ,,,& lt; meta  http-equiv=癤-UA-Compatible",内容=癷e=edge"比;   ,,,& lt; title> CSS实现选项卡切换效果& lt;/title>   ,,,& lt; style>   ,,,,,,,ul  {   ,,,,,,,,,,,保证金:,0;   ,,,,,,,,,,,填充:,0;      ,,,,,,,}   ,,,,,,,.clearfloat  {   ,,,,,,,,,,,变焦:,1;   ,,,,,,,}   ,,,,,,,.clearfloat: after  {   ,,,,,,,,,,,显示:,块;   ,,,,,,,,,,,明确:,两个;   ,,,,,,,,,,,内容:,““   ,,,,,,,,,,,可见性:,隐藏;   ,,,,,,,,,,,,身高:0;   ,,,,,,,}      ,,,,,,,.tab-list  {   ,,,,,,,,,,,位置:,相对;   ,,,,,,,}      ,,,,,,,.tab-list  .tab-itom  {   ,,,,,,,,,,,:浮动,离开;   ,,,,,,,,,,,list-style:,没有;   ,,,,,,,,,,,margin-right:, 4 px;   ,,,,,,,}      ,,,,,,,.tab-itom  .test-label  {   ,,,,,,,,,,,位置:,相对;   ,,,,,,,,,,,显示:,块;   ,,,,,,,,,,,宽度:,85 px;   ,,,,,,,,,,,,高度:27 px;   ,,,,,,,,,,,边界:,1 px  solid 透明;   ,,,,,,,,,,,border-top-left-radius:, 5 px;   ,,,,,,,,,,,border-top-right-radius:, 5 px;   ,,,,,,,,,,,行高:,27 px;   ,,,,,,,,,,,text-align:,中心;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何使用CSS实现选项卡页切换效果