【问题标题】:Bootstrap Dropdown is clipped inside PanelBootstrap Dropdown 被剪裁在 Panel 内
【发布时间】:2015-09-17 02:44:51
【问题描述】:

.panel 内的 .responsive-table 内的表内的 .dropdown,正如您在演示中看到的那样,.dropdown 被剪辑在 .panel 内

我猜是 Bootstrap 中的某种 z-index 或溢出错误,如何修复它以便单击时下拉菜单显示在面板外部?

演示:http://codepen.io/anon/pen/GJyave

代码:

<div class="panel panel-default">
    <div class="panel-heading clearfix">
        <h3 class="panel-title pull-left">Panel</h3>
        <div class="pull-right">
            <button class="btn btn-default btn-xs"><span class="glyphicon glyphicon-download-alt"></span></button>
        </div>
    </div>
    <div class="table-responsive">
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Age</th>
                    <th>Location</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>John Smith</td>
                    <td>32</td>
                    <td>
                        <div class="dropdown">
                            <button class="btn btn-default btn-xs btn-block dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                            San Francisco
                                <span class="caret"></span>
                            </button>
                            <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenu1">
                                <li><a href="#">San Francisco</a></li>
                                <li><a href="#">Los Angeles</a></li>
                                <li><a href="#">New York</a></li>
                                <li><a href="#">Dallas</a></li>
                                <li><a href="#">Seattle</a></li>
                                <li><a href="#">Miami</a></li>
                            </ul>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    <div class="panel-footer">
        <button class="btn btn-primary btn-sm">Add Person</button>
    </div>
</div>

【问题讨论】:

    标签: javascript css twitter-bootstrap twitter-bootstrap-3 z-index


    【解决方案1】:

    添加以下css

    .table-responsive {
      overflow-x: visible !important;
      overflow-y: visible !important;
    }
    

    Demo

    【讨论】:

    • 嗯,不,这会破坏 .table-responsive 的响应能力
    【解决方案2】:

    只需添加

     .bs-example .dropdown{position:fixed}
    

    到你的 CSS

    【讨论】:

    • 如果下拉菜单位于 DOM 深处,则不会这样做,它总是会被剪裁
    【解决方案3】:

    .dropdown {position:absolute;} 将使下拉列表显示在&lt;td&gt; 之外(在其顶部)

    https://jsfiddle.net/nowhqbm1/

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
    • 如果 里面的
      设置为 position:absolute;下拉菜单将出现在 顶部(面板外),而不是表格单元格内。 .dropdown 类指的是 OP 中的代码以及 codepen。我也看不出这个解决方案是如何制动响应的。难道不是由寻求帮助的人来决定我的建议是否有用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2016-05-05
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 2021-05-05
    相关资源
    最近更新 更多