Bootstrap 拆分按钮未正确呈现

Bootstrap split button not rendering correctly

提问人:GuyManDude 提问时间:4/17/2023 最后编辑:GuyManDude 更新时间:4/18/2023 访问量:51

问:

我无法获得 Bootstrap 拆分按钮以正确呈现。它在 Codepen 和 JSFiddle 中运行良好,但在这个测试 Drupal 网站上,下拉部分似乎被推到了按钮下方。我试过弄乱我所知道的所有 CSS,甚至尝试了 ChatGPT 的一些建议。没有任何效果。我想在这一点上我需要一个CSS专家。

你可以在这里看到它:http://lab.oyhd.com/

转到 Menu>Infrastructure>Location Management 查看。

“添加位置”按钮下拉列表应位于按钮的右侧。这是我获取代码的 Bootstrap 示例的链接。您可以看到它们应该如何显示在那里。

https://getbootstrap.com/docs/3.4/components/#btn-dropdowns-split

感谢您的阅读和您可以提供的任何帮助。

这是我使用的实际代码:

enter code here

<div class="split">
<div class="btn-group">
  <button type="button" class="btn btn-warning btn-lg">Add Location</button>
  <button type="button" class="btn btn-warning btn-lg dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="caret"></span>
    <span class="sr-only">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    <li><a href="/node/add/location">Location</a></li>
    <li><a href="/node/add/ct-building">Building (Campus)</a></li>
    <li><a href="/node/add/sublocation">SubLocation</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>
</div>
css twitter-bootstrap-3 drupal-7

评论

0赞 Amaury Hanser 4/17/2023
首先,你真的应该产生一个最小的可重复的例子......也就是说,您有许多不需要的标签,它们既可以将第二个按钮推到新行,又会增加其高度。<br>
0赞 Community 4/17/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。
0赞 GuyManDude 4/18/2023
感谢您的回复。将我使用的代码添加到原始帖子中。<br>必须由 Bootstrap 或 Drupal 添加。

答:

0赞 beerwin 4/17/2023 #1

正如其他人所指出的,按钮组和下拉按钮中有一堆标签。您应该删除它们:<br>

这是它在浏览器中的样子:

<div class="split">
<div class="btn-group">
  <button type="button" class="btn btn-warning btn-lg">Add Location</button><br>
  <button type="button" class="btn btn-warning btn-lg dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><br>
    <span class="caret"></span><br>
    <span class="sr-only">Toggle Dropdown</span><br>
  </button>
<ul class="dropdown-menu">
<li><a href="/node/add/location">Location</a></li>
<li><a href="/node/add/ct-building">Building (Campus)</a></li>
<li><a href="/node/add/sublocation">SubLocation</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
</div>

你的CSS中也存在一个我无法解决的冲突,但是对类的黑客攻击可以解决它(我会添加一个自定义类并在其上应用规则而不是全局):.btn-lg

.btn-lg {
   padding: 4px 16px;
}

评论

0赞 GuyManDude 4/18/2023
感谢您的想法。我尝试添加该CSS,但没有任何区别。顺便说一句,我将我正在使用的实际代码添加到原始帖子中。
0赞 beerwin 4/18/2023
更新了我的答案,在浏览器中添加了当前状态。您的编辑器软件或基础架构中的某些内容会更改 HTML 代码。
0赞 GuyManDude 4/18/2023
你的代码和我的代码是一样的。我相信Drupal正在以某种方式影响它......
0赞 beerwin 4/19/2023
它是“相同的”,因为我想指出问题所在,并解释它(它在浏览器中的呈现方式)。看起来Drupal通过一些内容过滤器。
1赞 GuyManDude 4/20/2023
终于想通了。对于那些在Drupal中遇到额外的<br>标签的人,我是这样解决这个问题的: 管理 » 设置 » 内容创作 » 文本格式 » 完整 HTML 将换行符转换为 HTML(即 <br> 和 <p>) 这将适用于您使用的任何文本格式。