是什么导致Bootstrap下拉列表中出现额外的空格?

问题描述 投票:1回答:2

是什么导致我的下拉列表有额外的空格? (截图道歉)

enter image description here

<div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" 
                            data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
        <span class="caret">Snooze</span>
    </button>
    <div class="dropdown-menu">
        <button class="dropdown-item">1 Hour</li>
    </div>
</div>

据我所知,我的CSS文件中没有什么奇怪的东西可以导致这种情况。我正在使用Bootstrap4。

css bootstrap-4 dropdown
2个回答
2
投票

看看这段代码。我删除了<span class="caret"></span>,因为它不是bootstrap中的有效类。在这种情况下,我将btn-default更改为其他按钮,btn-primary

最重要的错误 - 看看dropdown-menu。你打开button标签并关闭li,所以我把它改为div,它很好用。

有关更多信息,请查看Bootstrap Docs https://getbootstrap.com/docs/4.3/components/dropdowns/

/*DEMO*/
body{padding:3rem}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>


<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">Snooze</button>
    <div class="dropdown-menu">
        <div class="dropdown-item">1 Hour</div>
    </div>
</div>

1
投票

你的HTML结构是错误的。检查.dropdown-menu元素中的内容。

而不是<button class="dropdown-item">1 Hour</li>使用<li class="dropdown-item">1 Hour</li>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Snooze
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li class="dropdown-item">1 Hour</li>
  </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.