最简单的css+js标签页效果制作

这篇博客介绍了如何使用最简单的CSS和JS创建标签页效果。作者旨在减少额外代码,提供一个清晰的基础实现。教程包括效果图展示、实现原理解释、HTML、CSS和JS代码示例,并提供了源码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最简单的css+js标签页效果制作

之前见网上的标签页虽然效果很好,但是额外的代码太多,让人分不清写一个标签页究竟需要什么,所以我来写一个最简单的,其他效果你们可以自己按喜好添加。


目录

效果图

完成后的样子


注:需要导入jquery库


实现原理:

让标签页都固定在一个位置(标签按钮下面)通过控制 display:none; 和 display: block; 来显示当前标签页(jquery的hide()和show()函数也是同样的原理)


html 代码

<ul class="tabs">
    <li>
        <a href="javascript:void(0);">1</a>
        <div class="content">1</div>
    </li>
    <li>
        <a href="javascript:void(0);">2</a>
        <div class="content">2</div>
    </li>
    <li>
        <a href="javascript:void(0);">3</a>
        <div class="content">3</div>
    </li>
</ul>

a 的 href 属性是javascript:void(0);是为了取消a标签自动跳转


css代码

/* 首先取消默认样式 */
ul {list-style-type: none;}
ul, li { 
  margin:0;
  padding: 0;
}

/* 让标签页并排显示 */
.tabs>li {
    float: left;
    width: 100%;
}

.tabs {
    position: relative; /* position:absolute; 的绝对定位是相对于属性是relative的父级元素定位的 */
    width: 600px;
    height: 400px; /* position设为relative后就不参与正经元素的排列了,所以要设置固定长宽免得被下面的元素覆盖 */
}

/* 给标签按钮加点颜色 */
.tabs>li>a {
    display: inline-block;
    width: 50px;
    height: 30px;
    background-color: #CCC;
    text-align: center;
    line-height: 30px;
    border: solid 1px;
    text-decoration: none;
}

/* 当前标签页的样式 */
.current { 
    background-color: #ddd;
    color: #FFF;
}
/* 让标签页内容固定位置显示 */
.tabs>li>.content {
    position: absolute;
    left: 0; /* 靠左显示 */
    width: 600px;
    height: 370px;
    background-color: #dcdcdc;
    font-size: 200px;
    text-align: center;
    line-height: 370px;
}

js 代码

导入js标签库

<script src="jquery.js"></script>
$(document).ready(function(){  // 在页面加载时的动作
    hideAllTagContent();    
    $(".tabs>li>a").click(function() { // 给标签页按钮绑定点击事件
        switchTab(this);    // 将调用函数的当前标签作为参数传进去
    });
});
function switchTab(obj) {
    var content = $(obj).siblings(".content"); // 找到a标签的兄弟标签
    var $contents = $(obj).parent().parent().find(".content");

        // 移除所有标签按钮的current样式,给当前标签页添加上current样式
    $(obj).parent().parent().children("li").children("a").removeClass("current");
    $(obj).addClass("current");

    // 让所有内容页隐藏, 显示当前内容页
    $contents.hide();
    $(content).show();
}
// 在载入页面时隐藏所有其他标签页
function hideAllTagContent() {
    $(".tabs>li>.content").hide();
    $("a.current+.content").show();
}

源码下载

文章最后附上源代码

以往博客地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值