/*设置选项卡标签样式*/ .tab{ display:flex; list-style:none; border-bottom:1px solid #ccc; margin:0; padding:0; } .tab li{ flex:1; text-align:center; cursor:pointer; padding:10px; border-bottom:2px solid transparent; } .tab li.active{ border-bottom-color:#000; } /*设置选项卡内容样式*/ .tab-content{ padding:10px; border:1px solid #ccc; } /*设置选项卡切换效果*/ .tab-content:not(:first-child){ display:none; } .tab li.active ~ .tab-content{ display:none; } .tab li.active ~ .tab-content:nth-child(n+2){ display:block; }
首先,大家需要为选项卡的标签和内容分别设置样式。标签样式使用flex布局,使标签能够水平排列。选项卡标签的样式包括设置文本居中、添加光标指针、设置下边框颜色为透明,以及对当前激活的标签添加样式(下边框颜色为黑色)。选项卡内容的样式包括设置内边距以及边框颜色。
接下来,大家使用CSS3属性实现选项卡切换效果。大家先将除第一个选项卡内容之外的所有选项卡内容设置为display:none,确保只有第一个选项卡内容会在页面加载时显示。当用户点击另外一个选项卡标签时,大家需要将该标签对应的选项卡内容显示出来,并将其他选项卡内容隐藏。这可以通过.active和~选择器实现,其中.active表示当前激活的选项卡标签,~选择器用于选中.active之后的所有兄弟元素。大家设置.active之后的所有选项卡内容的display值为none,然后给除第一个之外的选项卡内容使用:nth-child(n+2)选择器指定样式,使其在.active之后的兄弟中按顺序显示。
以上就是CSS3选项卡切换效果的实现。通过简单的CSS3样式和选择器,大家实现了具有动态效果的选项卡切换。这是一个非常实用的效果,可以为网站添加互动性和趣味性。