简体   繁体   English

如何制作水平/自定义Bootstrap下拉列表?

[英]How to make horizontal/customize Bootstrap drop-down list?

HTML page contents age selector as a Bootstrap drop-down . HTML页面内容的年龄选择器作为Bootstrap drop-down I want to put li tags in horizontally as follows. 我想水平放置li标签,如下所示。 how use css to achieve it? 怎么用css实现呢? following css is no working 跟随css是行不通的

#horizontalmenu {display:inline} /*not working*/

在此处输入图片说明 => => 在此处输入图片说明

HTML HTML

<div class="container">
  <div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Age<span class="caret"></span>
    </button>
    <ul class="dropdown-menu" id="horizontalmenu">
      <li><a href="#">21</a></li>
      <li><a href="#">22</a></li>
      <li><a href="#">23</a></li>
      <li><a href="#">24</a></li>
      <li><a href="#">25</a></li>
      <li><a href="#">26</a></li>
      <li><a href="#">27</a></li>
      <li><a href="#">28</a></li>
    </ul>
  </div>
</div>

Solution

You need to add float:left to the li 您需要在li上添加float:left

Working Demo 工作演示

 li{ float:left; } ul{ width:250px !important; } 
 <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <div class="container"> <div class="dropdown"> <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Age<span class="caret"></span> </button> <ul class="dropdown-menu" id="horizontalmenu"> <li><a href="#">21</a></li> <li><a href="#">22</a></li> <li><a href="#">23</a></li> <li><a href="#">24</a></li> <li><a href="#">25</a></li> <li><a href="#">26</a></li> <li><a href="#">27</a></li> <li><a href="#">28</a></li> </ul> </div> </div> 

You need to adjust the li and not the ul . 您需要调整li而不是ul I would float the li to the left . 我把li浮到left Then limit the width of #horizontalmenu . 然后限制#horizontalmenu的宽度。

#horizontalmenu {
  max-width: 225px; /* appx. width of 4 li */
}
#horizontalmenu > li {
  float: left;
}

Demo JSFiddle . 演示JSFiddle

You could also use display: inline-block; 您也可以使用display: inline-block; on the li but there will be small gaps of space between each li relative to the font size. li上,但相对于字体大小,每个li之间的间距很小。 Although there are workarounds for the spaces created by inline elements, it's usually easier to float that inline-block if those spaces become an issue. 尽管有一些由内联元素创建的空格的解决方法,但是如果这些空格成为问题,通常更容易浮动该内联块。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM