如何在下拉菜单中放置下拉菜单而不使用锚标记隐藏下拉菜单内容

时间:2018-06-26 13:19:54

标签: html css bootstrap-4

我正在尝试在面板中放置一个下拉菜单,但是它是隐藏的。我的建议是在下拉菜单的CSS中使用position:absolute,但我没有得到结果。

我希望将鼠标悬停在标签上,也可以单击按钮而不隐藏内容。

<body id="body">
  <div class="col-lg-5 col-md-4">
    <div class="panel panel-default" id="panel2">
      <div class="panel-heading-fd">
        <h3 class="panel-title-fd">Our Products</h3>
      </div>

      <div class="panel-body">
        <div class="media">
          <a class="pull-left" href="#">
            <img class="media-object" src="img/2.jpg" style="width: 150px; 
     height: 70px;">
          </a>
          <div class="media-body">
            <h4 class="media-heading"><a href="#">Dropdown</a></br>
              <div class="dropdown">
                <button class="btn btn-default dropdown-toggle" type="button" data- toggle="dropdown" data-hover="dropdown">
     Dropdown <span class="caret"></span>
     </button>
                <ul class="dropdown-menu">
                  <li><a href="#">Action</a></li>
                  <li><a href="#">Another action</a></li>
                  <li class="dropdown">
                    <a href="#">One more dropdown</a>
                    <ul class="dropdown-menu">
                      <li><a href="#">Action</a></li>
                      <li><a href="#">Another action</a></li>
                      <li class="dropdown">
                        <a href="#">One more dropdown</a>
                        <ul class="dropdown-menu">
                          ...
                        </ul>
                      </li>
                      <li><a href="#">Something else here</a></li>
                      <li><a href="#">Separated link</a></li>
                    </ul>
                  </li>
                  <li><a href="#">Something else here</a></li>
                  <li><a href="#">Separated link</a></li>
                </ul>
              </div>
            </h4>
            Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum <a href="">Read More</a>
          </div>
        </div>
      </div>
    </div>
  </div>

这是一个完整的提琴手示例(代码太长,无法在此处粘贴):https://jsfiddle.net/td3ogahk/11/

1 个答案:

答案 0 :(得分:0)

将此CSS添加到下拉列表中:

.dropdown-menu {
   position: fixed;
   top: auto;
   left: auto;
}

替换绝对位置,固定位置。

还添加标签 p 来在下拉列表后换行。始终将文本包装在段落标签中总是更好:

<p class="text">Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum  <a href="">Read More</a></p>

希望这会有所帮助!

工作codepen link here

添加 要关闭滚动下拉列表,请添加以下JS代码:

jQuery(window).on('scroll',function() {
  jQuery('.dropdown.open').removeClass('open');
});

然后,如果要将下拉列表也添加到链接标记中,则必须复制其下方按钮的结构,否则它将表现为普通链接。