为什么当我单击齿轮图标时没有出现我的 Bootstrap 下拉菜单?

问题描述 投票:0回答:2
twitter-bootstrap twitter-bootstrap-3
2个回答
0
投票

您有一些与 docs 和良好的语义标记不相符的内容:

  • 切换器应该是一个按钮。标题不是可点击的元素,不应该这样使用,以实现可访问性。
  • 下拉菜单必须是其切换器的下一个兄弟。这意味着将其放入标题元素内。不幸的是,从语义角度来看这也很糟糕,因此请考虑重构布局来解决这个问题。
  • 不要省略文档中显示的 ARIA 属性,也是为了可访问性。

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!-- jQuery 3.4.1 -->
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

  <!-- Bootstrap 3.4.1 CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

  <!-- Bootstrap 3.4.1 JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

  <!-- bootstrap icons from here: https://blog.getbootstrap.com/2021/01/07/bootstrap-icons-1-3-0/ -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css">
</head>

<body>
  <div class="dropdown">
    <h4>
      Drop down menu test: <button id="dropdownBtn" class="btn btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><i class="bi bi-gear"></i></button>
    
    <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownBtn">
      <li><a href="#">Link 1</a></li>
      <li><a href="#">Link 2</a></li>
      <li><a href="#">Link 3</a></li>
    </ul>
    </h4>
  </div>

</body>


0
投票

这是我的“最终”代码,包含@isherwood 的更改

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!-- jQuery 3.4.1 -->
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

  <!-- Bootstrap 3.4.1 CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

  <!-- Bootstrap 3.4.1 JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

  <!-- bootstrap icons from here: https://blog.getbootstrap.com/2021/01/07/bootstrap-icons-1-3-0/ -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css">
</head>

<body>

    <div class="d-flex align-items-center">

        <h4 style="display: inline;">Drop down menu test:</h4>

        <div class="dropdown" style="display: inline-block;" >
            <button id="dropdownBtn" class="btn btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                <i class="bi bi-gear"></i>
            </button>
            <ul class="dropdown-menu" aria-labelledby="dropdownBtn">
                <li><a href="#">Link 1</a></li>
                <li><a href="#">Link 2</a></li>
                <li><a href="#">Link 3</a></li>
            </ul>
        </div>

    </div>

</body>
© www.soinside.com 2019 - 2024. All rights reserved.