Skip to content
网游世界
网游世界

吾生有涯,而知无涯。

  • 首页
  • PHP
    • ThinkPHP
    • FastAdmin
    • webman
  • JavaScript
    • jQuery
    • AdminLTE
  • Free Pascal
  • Java
    • JeeSite
    • 若依
    • ruoyi-vue-pro
  • 其它
    • 操作系统
    • 树莓派
    • 前端
    • Null
  • 关于
网游世界

吾生有涯,而知无涯。

Bootstrap 移动端 nav-tabs 实现横向滑动

3Vshej, 2024年1月25日 周四2024年1月25日 周四

bootstrap 移动端开发时,需要实现 tab 页切换,也就是,通过对 nav nav-tabs 设置,实现,可以横向滑动。这里介绍2种方法。第一种,通过 CSS 样式

<style>
    .nav-tabs {
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .nav-tabs > li {
        display: inline-block;
        float: none;
    }
</style>

    <div class="container">
        <ul class="nav nav-tabs">
            <li class="active"><a data-toggle="tab" href="#home">首页</a></li>
            <li><a data-toggle="tab" href="#menu1">菜单 1</a></li>
            <li><a data-toggle="tab" href="#menu2">菜单 2</a></li>
            <li><a data-toggle="tab" href="#menu3">菜单 3</a></li>
            <li><a data-toggle="tab" href="#menu4">菜单 4</a></li>
            <li><a data-toggle="tab" href="#menu5">菜单 5</a></li>
            <li><a data-toggle="tab" href="#menu6">菜单 6</a></li>
            <li><a data-toggle="tab" href="#menu7">菜单 7</a></li>
        </ul>
        <div class="tab-content">

            <div id="home" class="tab-pane fade in active">
                首页
            </div>
            <div id="menu1" class="tab-pane fade">
                <h3>菜单 1</h3>
                <p>这是菜单 1 显示的内容。</p>
            </div>
            <div id="menu2" class="tab-pane fade">
                <h3>菜单 2</h3>
                <p>这是菜单 2 显示的内容。</p>
            </div>
            <div id="menu3" class="tab-pane fade">
                <h3>菜单 3</h3>
                <p>这是菜单 3 显示的内容。</p>
            </div>
            <div id="menu4" class="tab-pane fade">
                <h3>菜单 4</h3>
                <p>这是菜单 4 显示的内容。</p>
            </div>
            <div id="menu5" class="tab-pane fade">
                <h3>菜单 5</h3>
                <p>这是菜单 5 显示的内容。</p>
            </div>
            <div id="menu6" class="tab-pane fade">
                <h3>菜单 6</h3>
                <p>这是菜单 6 显示的内容。</p>
            </div>
            <div id="menu7" class="tab-pane fade">
                <h3>菜单 7</h3>
                <p>这是菜单 7 显示的内容。</p>
            </div>
        </div>

    </div>

第二种,通过 jquery,在 nav-tabs 的外部加层 div ,class 设置为 overflow-x:scroll

<div class="container">
    <div style="overflow-x:scroll">
        <ul class="nav nav-tabs">
            <li class="active"><a data-toggle="tab" href="#home">首页</a></li>
            <li><a data-toggle="tab" href="#menu1">菜单 1</a></li>
            <li><a data-toggle="tab" href="#menu2">菜单 2</a></li>
            <li><a data-toggle="tab" href="#menu3">菜单 3</a></li>
            <li><a data-toggle="tab" href="#menu4">菜单 4</a></li>
            <li><a data-toggle="tab" href="#menu5">菜单 5</a></li>
            <li><a data-toggle="tab" href="#menu6">菜单 6</a></li>
            <li><a data-toggle="tab" href="#menu7">菜单 7</a></li>
        </ul>
    </div>
    <div class="tab-content">

        <div id="home" class="tab-pane fade in active">
            首页
        </div>
        <div id="menu1" class="tab-pane fade">
            <h3>菜单 1</h3>
            <p>这是菜单 1 显示的内容。</p>
        </div>
        <div id="menu2" class="tab-pane fade">
            <h3>菜单 2</h3>
            <p>这是菜单 2 显示的内容。</p>
        </div>
        <div id="menu3" class="tab-pane fade">
            <h3>菜单 3</h3>
            <p>这是菜单 3 显示的内容。</p>
        </div>
        <div id="menu4" class="tab-pane fade">
            <h3>菜单 4</h3>
            <p>这是菜单 4 显示的内容。</p>
        </div>
        <div id="menu5" class="tab-pane fade">
            <h3>菜单 5</h3>
            <p>这是菜单 5 显示的内容。</p>
        </div>
        <div id="menu6" class="tab-pane fade">
            <h3>菜单 6</h3>
            <p>这是菜单 6 显示的内容。</p>
        </div>
        <div id="menu7" class="tab-pane fade">
            <h3>菜单 7</h3>
            <p>这是菜单 7 显示的内容。</p>
        </div>
    </div>

</div>

<script>
    $(function () {
        const tabs = $('.nav-tabs');
        // ul 下的 li
        const lis = $('.nav-tabs > li');
        // 开始的宽度设置为 10
        let width = 10;

        // 遍历 li
        lis.each(function (index, el) {
            width += $(el).width();
        });
        tabs.css('width', width);
    });
</script>

参考来源:

  • https://www.cnblogs.com/peachGirl/p/5968302.html
  • https://blog.csdn.net/m0_74077921/article/details/133711406

相关文章:

  1. 前端表格对齐展示规范 对齐常见有三种:左、右、居中对齐。...
  2. Layui 表单提交报错 Uncaught TypeError: ‘checkValidity’ called on an object that does not implement interface HTMLButtonElement Layui 表单提交报错: Uncaught TypeError: ‘checkVali......
  3. 世界,您好! 这是我的新博客,用于记录日常学习、工作中的收获和总结。...
  4. JeeSite 列表添加横向滚动条 在开发中,如何列表字段太多时,有些列会显示不全,这时候想展示全怎么办? 推荐使用第二种方法。...
其它 前端 前端滚动条

文章导航

Previous post
Next post

近期文章

  • Android Studio Gradle 配置国内镜像
  • 为什么重新发明轮子
  • ruoyi-vue-pro 匿名访问
  • VUE 中接收 code 异常
  • 关于 AI

归档

  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
除非特殊说明,本站作品采用知识共享署名 4.0 国际许可协议进行许可。
豫公网安备 41010402002622号 豫ICP备2020029609号-3
©2025 3Vshej