【问题标题】:Issue with Bootstrap row and alignment of multiple AccordionBootstrap 行和多个 Accordion 对齐的问题
【发布时间】:2018-06-17 15:34:40
【问题描述】:

我最近开始研究 BootStrap,我正在尝试创建一些东西,虽然我很难理解它,但表面上看起来很简单。

我正在尝试在一行中显示三个彼此相邻的手风琴控件。我还希望将三个手风琴对齐到页面的中心。

目前,我的所有三个手风琴控件都从各自的行开始,第一个手风琴位于页面的左上角。我已经尝试了十几种不同的方法来实现我的目标,但我总是让事情变得更糟,所以我已经尽可能地清理了代码,以便在此处展示。

请问我的代码有什么问题?

非常感谢。

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<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>
<style type="text/css">
    .container-fluid {
        align-items:center;
    }
</style>
</head>
<body>
<div class="container-fluid">
        <div class="row">
                <div class="col-sm">
                    <!--Start of First Accordian-->
                    <div id="accordion" class="panel-group" style="width:33%">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">Placeholder Badge/Icon</a>
                                </h4>
                            </div>
                            <div id="collapseOne" class="panel-collapse collapse in">
                                <div class="panel-body">
                                   <b>IT Department Team Site</b>
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">Description</a>
                                </h4>
                            </div>
                            <div id="collapseTwo" class="panel-collapse collapse">
                                <div class="panel-body">
                                    Working Team Site for the IT Dept.
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">Owner(s)</a>
                                </h4>
                            </div>
                            <div id="collapseThree" class="panel-collapse collapse">
                                <div class="panel-body">
                                    For access/issues, please contact:<br />
                                    <a href="">Sam</a><br />
                                    <a href="">Chris</a><br />
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm">
                    <!--Start of Second Accordian-->
                    <div id="accordion2" class="panel-group" style="width:33%">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne2">Placeholder Badge/Icon</a>
                                </h4>
                            </div>
                            <div id="collapseOne2" class="panel-collapse collapse in">
                                <div class="panel-body">
                                    <b>IT Department Project Site</b>
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo2">Placeholder Badge/Icon</a>
                                </h4>
                            </div>
                            <div id="collapseTwo2" class="panel-collapse collapse">
                                <div class="panel-body">
                                    Project Name Team Site for the IT Dept.
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree2">Owner(s)</a>
                                </h4>
                            </div>
                            <div id="collapseThree2" class="panel-collapse collapse">
                                <div class="panel-body">
                                    For access/issues, please contact:<br />
                                    <a href="">Sam</a><br />
                                    <a href="">Chris</a><br />
                                </div>
                            </div>
                        </div>
                    </div>
                    </div>
                <div class="col-sm">
                    <!--Start of Third Accordian-->
                    <div id="accordion3" class="panel-group" style="width:33%">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion3" href="#collapseOne3">Placeholder Badge/Icon</a>
                                </h4>
                            </div>
                            <div id="collapseOne3" class="panel-collapse collapse in">
                                <div class="panel-body">
                                    <b>Finance Department Team Site</b>
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion3" href="#collapseTwo3">Description</a>
                                </h4>
                            </div>
                            <div id="collapseTwo3" class="panel-collapse collapse">
                                <div class="panel-body">
                                    Working Team Site for the Finance Dept.
                                </div>
                            </div>
                        </div>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" data-parent="#accordion3" href="#collapseThree3">Owner(s)</a>
                                </h4>
                            </div>
                            <div id="collapseThree3" class="panel-collapse collapse">
                                <div class="panel-body">
                                    For access/issues, please contact:<br />
                                    <a href="">Sam</a><br />
                                    <a href="">Chris</a><br />
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
    </div>

【问题讨论】:

  • 我看到的最大问题是您使用的是 Bootstrap 4 语法(flexbox 对齐,.col-sm 没有数字后缀),但您包含 Bootstrap 3...
  • 您希望三个手风琴垂直或水平对齐?
  • 我希望它们水平对齐。

标签: twitter-bootstrap alignment row accordion


【解决方案1】:

Bootstrap 使用 12 列的网格系统。在这里,您必须将col-sm 替换为col-sm-&lt;insert number&gt;

最好的做法是col-sm-4,因为你有 3 个手风琴。 (3*4 = 12) 这样您就可以获取整个页面,但这取决于您。欲了解更多信息,我邀请您搜索有关 Bootstrap 的更多信息。

此外,您可能必须检索style="width:33%",因为它减少了手风琴可以在页面上占据的位置。测试一下看看。

【讨论】:

  • 太棒了!我按照您的建议使用了“col-sm-4”并删除了 33% 的样式,这导致三个手风琴一起出现在一行中。这三个手风琴现在适合整个页面,从左到右。如果我想减少每个手风琴的宽度,我将如何实现?任何建议都会受到欢迎:-)
  • @ArticalDon - 默认情况下,手风琴将填满.col-*-* 元素的整个宽度。更改数字后缀会更改它们的宽度,但如果您的列加起来不等于 12,也会导致右侧出现空白。
  • 非常感谢。我已将大小减小到 col-sm-3,现在手风琴的大小已正确,但该行仍从页面左侧开始。理想情况下,我希望中心手风琴与页面中心对齐。我会继续玩的。
  • @ArticalDon - 看起来你对 Bootstrap 的理解非常新手。我真的建议通读他们的文档。 .container-fluid 强制容器大小为视口的 100%。如果你只使用.container,你会得到一个固定宽度的容器,它将在屏幕上居中。
  • @RobertC 明白了,它现在已经修复并且表现得应该是这样。我只在这里待了几个小时,但我要感谢您的帮助。衷心感谢。
猜你喜欢
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 2014-09-07
  • 1970-01-01
  • 2014-12-25
  • 2018-10-29
相关资源
最近更新 更多