【问题标题】:How to center, have an active tab, and also have the tabs take larger screen width for Bootstrap tabs?如何居中,有一个活动选项卡,以及让选项卡为 Bootstrap 选项卡占用更大的屏幕宽度?
【发布时间】:2020-11-06 15:26:36
【问题描述】:

我目前遇到了引导问题,我试图让引导选项卡做 3 件事。

  1. 将选项卡置于页面中心。
  2. 立即显示我的团队的内容。
  3. 让选项卡和表格内容占据屏幕的大部分。

以下是我的问题的图片:

在点击团队之前

点击队伍后

目前,这是我的标签代码:

<div class="container tab-bar d-flex justify-content-center ">
  <ul class="nav nav-pills" id="myTab" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-pressed="true">
        Team</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" id="tab2-tab" data-toggle="tab" href="#tab2" role="tab" aria-controls="tab2" aria-selected="true">Individual</a>
    </li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane" id="tab1" role="tabpanel" aria-labelledby="tab1-tab">
          <div class="container">
            <div class="row p-2">
                   <%= render :partial => "teams_list", locals: {teams: @teams} %>
              
            </div>
          </div>
    </div>

    <div class="tab-pane" id="tab2" role="tabpanel" aria-labelledby="tab2-tab">
      <div class="container">
        <div class="row p-2">
        <%= render :partial => "users/users_list", locals: {teams: @teams} %>
        </div>
      </div>
    </div>
  </div>
</div>

_teams_list.html.erb

<% if @teams.empty? %>
  <h4>There are no teams in the system at this time.</h4>
<% else %>

  <table class="table table-hover">
    <thead>
      <tr>
        <th>Rank</th>
        <th scope="col">Team Name</th>
        <th scope="col">Points</th>
      </tr>
    </thead>

    <tbody>
      <% @teams.each do |team| %>
        <tr>
          <td>Rank</td>
          <td><%= team.name %></td>
          <td><%= team.total_points %></td>
        </tr>
      <% end %>
    </tbody>
  </table>

  <br>

  <%= link_to 'New Team', new_team_path %>

<%end%>

用户/users_list.html.erb

<% if @users.nil? %>
  <h4>There are no users in the system at this time.</h4>
<% else %>

  <table class="table table-hover">
    <thead>
      <tr>
        <th>Rank</th>
        <th scope="col">Team Name</th>
        <th scope="col">Points</th>
      </tr>
    </thead>

    <tbody>
      <% @users.each do |user| %>
        <tr>
          <td>Rank</td>
          <td><%= user.name %></td>
          <td><%= user.points %></td>
        </tr>
      <% end %>
    </tbody>
  </table>

  <br>

  <%= link_to 'New User', new_user_path %>

<%end%>

【问题讨论】:

  • 你能显示你的部分视图代码吗?即“teams_list”和“users/users_list”?
  • 编辑帖子添加它!
  • 即使您不应该有嵌套容器,我也无法重现您遇到的问题:jsfiddle.net/davidliang2008/0p8w9v4s/20
  • 嵌套容器是什么意思?
  • 最外面的是一个容器&lt;div class="container tab-bar" /&gt;,然后你有2个容器嵌套在标签窗格下。将单个容器作为外部容器和内部的行、列只是一个好习惯。不建议在容器中放置另一个容器。

标签: css bootstrap-4 tabs center styling


【解决方案1】:

将“d-flex”类添加到容器中,就在 justify-content 之前

<div class="container tab-bar d-flex justify-content-center">

如果您需要以编程方式复制状态,您可以使用 .active(并包括 aria-pressed="true" 属性)强制显示活动外观。另外,我删除了“aria-selected”,您可以在此处阅读原因:https://www.stefanjudis.com/blog/aria-selected-and-when-to-use-it/

      <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-pressed="true">
        Team</a>

一起添加代码示例:

        <div class="container tab-bar d-flex justify-content-center">
            <ul class="nav nav-pills" id="myTab" role="tablist">
              <li class="nav-item">
                <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-pressed="true">
                  Team</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" id="tab2-tab" data-toggle="tab" href="#tab2" role="tab" aria-controls="tab2" aria-selected="true">Individual</a>
              </li>
            </ul>
        </div>

【讨论】:

  • 嗯,d-flex 部分实际上将内容移到了一边,就好像所有内容都是内联块一样。另外,你的活跃部分对我不起作用:/
  • 我编辑了我的评论以结合对我有用的代码,如果有帮助请告诉我。
  • 感谢您的回复!我仍然将所有内容显示为内联块,并且活动也不起作用。我已更新我的代码以反映您的更改。
  • 哦,移除 d-flex 帮助我将所有内容居中。但是,我似乎仍然无法强制“活跃”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多