选项卡内容布局显示在其他选项卡中

Posted

技术标签:

【中文标题】选项卡内容布局显示在其他选项卡中【英文标题】:Tab-Content Layout shows up in other tab 【发布时间】:2018-06-08 17:03:18 【问题描述】:

我正在使用 Thymeleaf 开发 Spring-Boot 应用程序。 Bootstrap4 是我正在使用的 CSS 框架。我在个人资料页面使用导航选项卡,前三个选项卡没有任何问题,但是当我单击地址选项卡并转到任何其他选项卡时,地址选项卡的内容会显示在其他选项卡中在该标签内容的底部,我不知道为什么。我将包括每个起始选项卡的结果和 css 的图像。由于目前的行数(总共 480 行),我犹豫是否要包含整个页面 html

<div class="tab-pane fade" id="tab-3" role="tabpanel" th:classappend="$classActiveBilling? 'in active show'">
  <div class="card">
    <div class="card-body">
      <div class="card-title">
        <div class="container">
          <div class="row">
            <div class="col">
              <h4 class="mb-0 align-middle" style="margin-top: 15px;">Billing Information</h4>
            </div>
          </div>
          <div class="row">
            <div class="col">
              <div class="breadcrumb" style="background-color:transparent;">
                <a class="breadcrumb-item active" th:href="@/listOfCreditCards" th:style="$listOfCreditCards? 'color:#6e45e0'">List of Credit Cards</a>
                <a class="breadcrumb-item active" th:href="@/addNewCreditCard" th:style="$addNewCreditCard? 'color:#6e45e0'">Add/Update Credit Card</a>
              </div>
            </div>
          </div>

    <div class="tab-pane fade" id="tab-4" role="tabpanel" th:classappend="$classActiveShipping? 'in active show'">
      <div class="card">
        <div class="card-body">
          <div class="card-title">
            <div class="container">
              <div class="row">
                <div class="col">
                  <h4 class="mb-0 align-middle" style="margin-top: 15px;">Shipping Information</h4>
                </div>
              </div>
              <div class="row">
                <div class="col">
                  <div class="breadcrumb" style="background-color:transparent;">
                    <a class="breadcrumb-item active" th:href="@/listOfShippingAddresses" th:style="$listOfShippingAddresses? 'color:#6e45e0'">List of Shipping Addresses</a>
                    <a class="breadcrumb-item active" th:href="@/addNewShippingAddress" th:style="$addNewShippingAddress? 'color:#6e45e0'">Add/Update Shipping Address</a>
                  </div>
                </div>
              </div>

【问题讨论】:

根据行为,我的猜测是 .active 类没有从最后一个选项卡中清除。 #tab-4 有哪些类处于这种奇怪的状态? 每当使用 thymeleaf 表示法附加 classActiveShipping 时,也会附加 active 和 show 类,这是 nav-tab 功能工作所必需的。 当我回到家时,我将不得不仔细检查该页面上哪些课程处于活动状态,并会在必要的帖子中对其进行更新。可能是我的后端导致了这个问题,因为我在使用类似设置的网站的登录/注册部分没有这个问题。 我对 thymeleaf 不熟悉,但从 Bootstrap 的角度来看,所有设置了.active .show 的选项卡都在同一时间可见。当离开一个选项卡时,Bootstrap 会从中删除这两个类。我认为,在这种情况下,这种移除会失败。不过,这只是一个疯狂的猜测。 为了让导航选项卡工作,必须在该选项卡通过 thymeleaf 而不是正常的 css 方式激活时附加它们。没有它就试过了,我无法让它工作。 【参考方案1】:

面包屑是罪魁祸首。它导致运输标签显示在其他窗口中。我只是将其更改为按钮组并获得相同的效果。不幸的是,无论我在 css 上工作了多少次,我都无法让面包屑自己工作,所以就把它完全扔掉了。半回答,但百里香很敏感,并不总是与框架很好地配合。

【讨论】:

以上是关于选项卡内容布局显示在其他选项卡中的主要内容,如果未能解决你的问题,请参考以下文章

在 IE8 中将 cssPIE 用于 js 选项卡内容不呈现

easyui框架打开新页面添加一个新选项卡

引导 4 个嵌套选项卡:“显示全部”按钮以在子选项卡中显示节点

实现选项卡的原理

mui-顶部选项卡-第一个选项卡内容不显示

bootstrap-vue 选项卡 - 在 url 中给定锚点打开选项卡内容