Jquery中文网 www.jquerycn.cn
Jquery中文网 >  CSS教程  >  经典实例  >  正文 纯 CSS 选项卡的实现例子

纯 CSS 选项卡的实现例子

发布时间:2020-05-07   编辑:www.jquerycn.cn
jquery中文网为您提供纯 CSS 选项卡的实现例子等资源,欢迎您收藏本站,我们将为您提供最新的纯 CSS 选项卡的实现例子资源
选项卡用到最多的就是大型网站或新闻动态了,我信下面来看一个只要css不需要js实现的一个选项卡的例子,具体如下。


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

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

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


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

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


<div class="css-tab">
    <ul class="tab-ul">
        <li><a href="#tab-1">选项卡1</a></li>
        <li><a href="#tab-2">选项卡2</a></li>
    </ul>
    <div class="tab-con">
        <div id="tab-1">
            这里放选项卡1的内容
         </div>
        <div id="tab-2">
             这里放选项卡2的内容
         </div>
    </div>
</div>
下面基本的CSS样式


*{
    margin: 0;
    padding: 0;
}
.clearfix {
    *zoom:1;
}
.clearfix:before ,.clearfix:after {
    display: table;
    line-height: 0;
    content: '';
}
.clearfix:after {
    clear: both;
}
.css-tab {
    width: 200px;
    height:auto;
    margin: 8px auto;
}
.tab-ul {
    padding-left: 1px;
}
.tab-ul li{
    padding-left: 8px;
    padding-right: 8px;
    line-height: 28px;
    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 {
    height: 200px;
}
#tab-1 {
    background: #B3C2DE;
}
#tab-2 {
    background: #d8ffef;
}
关于以上演示代码,你可以点击演示DEOM在线查看和研习,当然你也可以轻松的下载源代码:

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

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


<div class="tabs">
    <div class="tab">
        <label for="check1">第1个选项卡</label>
        <input id="check1" type="radio" name="tabs" checked="checked" />
        <div class="content">
            这里放置第1个选项卡的内容
        </div>
    </div>
    <div class="tab">
        <label for="check2">第2个选项卡</label>
        <input id="check2" type="radio" name="tabs" />
        <div class="content">
            这里放置第2个选项卡的内容
        </div>
    </div>
    <div class="tab">
        <label for="check3">第3个选项卡</label>
        <input id="check3" type="radio" name="tabs" />
        <div class="content">
            这里放置第3个选项卡的内容
        </div>
    </div>
</div>
这是相应的CSS:


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

您可能感兴趣的文章:
实用的Jquery选项卡TAB示例代码
ionic 卡片
ionic tab(选项卡)
jQuery之选项卡的简单实现
jquery自动切换tabs选项卡的具体实现
js 选项卡效果的实例代码(图文)
JavaScript 实例
js图表组件highcharts简介
ionic 选项卡栏操作
JavaScript 选择option选项的方法

[关闭]