【问题标题】:drop-down menu hiding behind the panel隐藏在面板后面的下拉菜单
【发布时间】:2018-01-04 08:16:14
【问题描述】:

引导菜单隐藏在面板后面,对 z-index 无效

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="panel panel-default">
  <div class="panel-heading">
    <i class="fa fa-calendar fa-fw"></i> System Years
    <div class="pull-right">
      <button type="button" class="btn btn-info btn-xs btn-add-year " data-toggle="tooltip" title="Add year"><i class="fa fa-plus"></i></button>
    </div>
  </div>
  <!-- /.panel-heading -->
  <div class="panel-body">
    <div class="table-responsive">
      <table class="table table-bordered table-hover table-striped">
        <tbody>
          <tr>
            <td>
              <strong>2014</strong>

              <div class="btn-group">
                <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                Menu 1 <span class="caret"></span>
                                            </button>
                <ul class="dropdown-menu">
                  <li><a href="javascript:;">All</a></li>
                  <li><a href="javascript:;">Other</a></li>
                </ul>
              </div>

            </td>

          </tr>
          <tr>
            <td>
              <strong>2015</strong>

              <div class="btn-group">
                <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                Menu 2 <span class="caret"></span>
                                            </button>
                <ul class="dropdown-menu">
                  <li><a href="javascript:;">All</a></li>
                  <li><a href="javascript:;">Other</a></li>
                </ul>
              </div>

            </td>

          </tr>

        </tbody>
      </table>
    </div>
    <!-- /.table-responsive -->
  </div>
  <!-- /.panel-body -->
</div>

【问题讨论】:

标签: javascript html css twitter-bootstrap


【解决方案1】:

问题与父 div 溢出有关。请参阅该 div 的以下代码并查看图片以供参考:

@media screen and (max-width: 767px)
tables.less:180
.table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: visible;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
    height: 120px;
}

【讨论】:

    【解决方案2】:

    您可以在 .table-responsive div 中使用overflow: inherit !important;

    .table-responsive{overflow: inherit !important;}
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    
    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    
    
    <div class="panel panel-default">
      <div class="panel-heading">
        <i class="fa fa-calendar fa-fw"></i> System Years
        <div class="pull-right">
          <button type="button" class="btn btn-info btn-xs btn-add-year " data-toggle="tooltip" title="Add year"><i class="fa fa-plus"></i></button>
        </div>
      </div>
      <!-- /.panel-heading -->
      <div class="panel-body">
        <div class="table-responsive">
          <table class="table table-bordered table-hover table-striped">
            <tbody>
              <tr>
                <td>
                  <strong>2014</strong>
    
                  <div class="btn-group">
                    <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                    Menu 1 <span class="caret"></span>
                                                </button>
                    <ul class="dropdown-menu">
                      <li><a href="javascript:;">All</a></li>
                      <li><a href="javascript:;">Other</a></li>
                    </ul>
                  </div>
    
                </td>
    
              </tr>
              <tr>
                <td>
                  <strong>2015</strong>
    
                  <div class="btn-group">
                    <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                    Menu 2 <span class="caret"></span>
                                                </button>
                    <ul class="dropdown-menu">
                      <li><a href="javascript:;">All</a></li>
                      <li><a href="javascript:;">Other</a></li>
                    </ul>
                  </div>
    
                </td>
    
              </tr>
    
            </tbody>
          </table>
        </div>
        <!-- /.table-responsive -->
      </div>
      <!-- /.panel-body -->
    </div>
    

    【讨论】:

      【解决方案3】:

      请使用类表而不是表响应。表响应类有一个属性溢出:隐藏。

        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      <div class="panel panel-default">
        <div class="panel-heading">
          <i class="fa fa-calendar fa-fw"></i> System Years
          <div class="pull-right">
            <button type="button" class="btn btn-info btn-xs btn-add-year " data-toggle="tooltip" title="Add year"><i class="fa fa-plus"></i></button>
          </div>
        </div>
        <!-- /.panel-heading -->
        <div class="panel-body">
          <div class="table">
            <table class="table table-bordered table-hover table-striped">
              <tbody>
                <tr>
                  <td>
                    <strong>2014</strong>
      
                    <div class="btn-group">
                      <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                      Menu 1 <span class="caret"></span>
                                                  </button>
                      <ul class="dropdown-menu">
                        <li><a href="javascript:;">All</a></li>
                        <li><a href="javascript:;">Other</a></li>
                      </ul>
                    </div>
      
                  </td>
      
                </tr>
                <tr>
                  <td>
                    <strong>2015</strong>
      
                    <div class="btn-group">
                      <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                                      Menu 2 <span class="caret"></span>
                                                  </button>
                      <ul class="dropdown-menu">
                        <li><a href="javascript:;">All</a></li>
                        <li><a href="javascript:;">Other</a></li>
                      </ul>
                    </div>
      
                  </td>
      
                </tr>
      
              </tbody>
            </table>
          </div>
          <!-- /.table-responsive -->
        </div>
        <!-- /.panel-body -->
      </div>

      【讨论】:

      • 对不起,不能这样做,我们需要表格响应
      • 好的,在 .table-responsive { overflow-y: visible;}中添加这个
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多