纯 CSS 选项卡的实现例子

作者:袖梨 2022-06-25


eb开发中,选项卡效果是非常常见的。几乎所有的大型网站都在使用,如新浪、网易、腾迅······ 查看源代码,你会发现都是基于JavaScript实现的。那么只基于CSS 可以实现选项卡么?可以嘀

基于锚点定位实现的选项卡

很多人只知道A标签做超链接,却不知道其另一个功能,页面内容的锚点定位:


点击跳转到页面底部
点击上面的链接,会自动定位到网页中id为bottom的元素,实际上改变的是改变侧边滚动的scrollTop值,你可以点击下面DEMO下载,查看原理演示DEMO。

下面是基于描点定位选项卡实现的HTML代码


css-tab">
   
   

       

            这里放选项卡1的内容
        

       

             这里放选项卡2的内容
        

   


下面基本的CSS样式


*{
    margin: 0;
    padding: 0;
}
.clearfix {
    *zoom:1;
}
.clearfix:before ,.clearfix:after {
    display: table;
    line-height: 0;
    content: '';
}
.clearfix:after {
    clear: both;
}
.css-tab {
   
    height:auto;
    margin: 8px auto;
}
.tab-ul {
    padding-left: 1px;
}
.tab-ul li{
    padding-left: 8px;
    padding-right: 8px;
    line-
    border: 1px solid #ccc;
    margin-left: -1px;
    border-bottom:none ;
    float: left;
    list-style: none;
}
.tab-ul li a {
    text-decoration: none;
}
.tab-con {
    overflow: hidden;
}
.tab-con,#tab-1,#tab-2 {
   
}
#tab-1 {
    background: #B3C2DE;
}
#tab-2 {
    background: #d8ffef;
}
关于以上演示代码,你可以点击演示DEOM在线查看和研习,当然你也可以轻松的下载源代码:

查看DEMO 下载DEMO
基于CSS选择器实现的选项卡效果

在CSS 3中,CSS 的选择器是扩充了。在制作选项卡的过程中,我们会通过到“属性选择器”和“兄弟选择器”。具体实现的HTML代码结构如下:



   

       
       
       

            这里放置第1个选项卡的内容
       

   

   

       
       
       

            这里放置第2个选项卡的内容
       

   

   

       
       
       

            这里放置第3个选项卡的内容
       

   


这是相应的CSS:


*{
    margin: 0;
    padding: 0;
}
.clearfix {
    *zoom:1;
}
.clearfix:before ,.clearfix:after {
    display: table;
    line-height: 0;
    content: '';
}
.clearfix:after {
    clear: both;
}
.tabs {
   
   
    background: pink;
    position: relative;
}
.tab {
    float: left;
   
   
    overflow: visible;
}
.tab label {
    display: block;
   
   
    line-
    cursor: pointer;
    font-size: 13px;
}
.tab input {
    display: none;
}
.content {
    position: absolute;
    top: 40px;
    left: 0;
   
   
    z-index: 1;
}
.tab input:checked ~ .content {
    z-index: 2;
    background: pink;
}
注意:基于选择器的选项卡由于低版本的IE浏览器对高级选择器不支持,故选项卡效果是不支持切换的。另外,选择器在IE 8中必须文档声明为HTML 5才能正常解析。为了让低版本的ie也支持一些高级选择器,你可以看一下selectivizr。

相关文章

精彩推荐