【问题标题】:Bootstrap menu dropdown not showing dropdown arrow on load引导菜单下拉菜单在加载时未显示下拉箭头
【发布时间】:2022-01-16 00:40:42
【问题描述】:

我正在尝试让折叠菜单项在页面加载时显示箭头,有没有办法做到这一点?目前正在加载,直到用户点击“文件”后才会显示箭头

这是我的代码:

<ul class="list-unstyled components">
            <p><b>Main Menu</b> </p>
            <li>
                <a href="#">About</a>
                <a href="#pageSubmenu" data-toggle="collapse">Files</a>
                <ul class="collapse list-unstyled " id="pageSubmenu">
                    <li><a href="#">+Photos</a></li>
                    <li><a href="#">+Videos</a></li>
                    <li><a href="#">+Music</a></li>
                </ul>
            </li>  
        </ul>

这里有一些正在发生的截图

This is on page load
This is after I click on "files"
Finally this is after I close the list

如您所见,页面加载时右侧的箭头不会出现。试图让它出现,以便用户知道它是一个下拉菜单

谢谢!

【问题讨论】:

  • 在 Fiddle 或 CodePen 上查看演示会很有帮助。通常,箭头显示为一个后psedo元素,它根据a-expanded的属性更新其内容

标签: html css twitter-bootstrap


【解决方案1】:

添加 aria-expanded="false" 到

<a href="#pageSubmenu" data-toggle="collapse">Files</a>

原来如此

<a href="#pageSubmenu" data-toggle="collapse" aria-expanded="false">Files</a>

这将保持你当前的 css

【讨论】:

    【解决方案2】:

    $(document).ready(function(){
      $('.dropdown-submenu a.test').on("click", function(e){
        $(this).next('ul').toggle();
        e.stopPropagation();
        e.preventDefault();
      });
    });
    <style>
    .dropdown-menu{
    border-radius:0px !important;
    }
    .dropdown-submenu {
        position: relative;
        border-radius:0px !important;
    }
    .dropdown-submenu .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -1px;
        border-radius:0px !important;
    }
    </style>
    <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>
    
    </head>
    <body>
       
    <div class="container">
                                       
      <div class="dropdown">
        <button class="btn btn-success dropdown-toggle" type="button" data-toggle="dropdown">Dropdown Menu Tutorials <span class="caret"></span></button>
        <ul class="dropdown-menu">
          <li><a tabindex="-1" href="#">Dropdown Menu 1</a></li>
          <li><a tabindex="-1" href="#">Dropdown Menu 2</a></li>
          <li class="dropdown-submenu">
            <a class="test" tabindex="-1" href="#">Dropdown Menu 3 <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a tabindex="-1" href="#">dropdown 1</a></li>
              <li><a tabindex="-1" href="#">dropdown 2</a></li>
              <li class="dropdown-submenu">
                <a class="test" href="#">dropdown 3 <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><a href="#">dropdown 1</a></li>
                  <li><a href="#">dropdown 2</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
    
    
    </body>
    </html>

    【讨论】:

      【解决方案3】:

      你有两个选择:

      第一选择,将 aria-expanded="false" 添加到您的“a”标签中,如下所示:

      <a href="#pageSubmenu" data-toggle="collapse" aria-expanded="false">Files</a>
      

      第二个选择,在“a”标签中使用“fontawesome”图标,如下所示:

      <a href="#pageSubmenu" data-toggle="collapse" >Files <i class="fas fa-angle-down"></i> </a>
      

      *如果您想使用“fontawesome”,请不要忘记在您的标题中安装“fontawesome”库,请参阅以下链接中的文档以获取更多信息:

      https://fontawesome.com/v5.15/how-to-use/customizing-wordpress/snippets/setup-cdn-webfont#load-all-styles

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-08
        • 2019-01-10
        • 1970-01-01
        • 2012-07-05
        • 2021-01-05
        • 2013-10-10
        相关资源
        最近更新 更多