可以在Bootstrap下拉菜单中使用按钮而不是锚点

时间:2017-04-06 03:59:48

标签: twitter-bootstrap-3

Bootstrap中的典型下拉列表标记为

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
  </ul>
</div>

其中下拉列表的项目是锚标记。

有时候,下拉项目需要充当button,因为会离开,但会在页面上执行某些功能。

在不破坏渲染方式的情况下,是否有默认支持执行以下操作?我应该使用不同的课程吗?或者我应该只复制应用于.dropdown-menu > li > a的样式并将其应用于.dropdown-menu > li > button样式?

  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><button class="btn btn-default">Another action</button></li>
  </ul>

虽然我知道我可以修改锚标记以执行preventDefault(),但它似乎是错误的标记,并且还会导致浏览器显示Url,就好像它正在导航一样。按钮的行为不是这样的。

1 个答案:

答案 0 :(得分:0)

因此,虽然我没有找到在下拉列表中正确设置样式按钮的内置方法,但明确设置样式以匹配。将以下内容添加到我的css文件中。

.dropdown-menu {

    > li > button {
        display: block;
        border: 0;
        border-radius: 0;
        padding: 3px 20px;
        clear: both;
        font-weight: normal;
        line-height: 1.42857143;
        color: #333;
        white-space: nowrap;
    }

}

.dropdown-menu > li > button {
    &:hover,
    &:focus {
        text-decoration: none;
        color: #262626;
        background-color: #f5f5f5;
    }
}