如何更改下拉菜单响应式bootstrap的宽度

时间:2014-07-26 09:51:47

标签: jquery css twitter-bootstrap

我使用bootstrap中的响应式导航栏。我想更改更改为下拉菜单的宽度,此宽度的默认值为768px,但我想根据宽度更改它。我应该如何做到这一点我认为我应该使用jquery使用$(windows).resize()事件来做到这一点。 以下是bootstrap navbar的示例:

<nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-left" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

3 个答案:

答案 0 :(得分:0)

您可以将自己的类添加到下拉菜单中,并根据需要设置宽度。

答案 1 :(得分:0)

试试这个:

.navbar-nav > li > .dropdown-menu { width: yourwidth }

答案 2 :(得分:0)

我认为通过使用自定义有两种方法。也许定制bootstrap.css文件的最快方法是使用http://getbootstrap.com/customize/处的Customizer。 在那里你可以改变 @ grid-float-breakpoint 的值。我测试的值为480px(原始值为 @ screen-sm ,与768px相同)之后单击Customizer页面末尾的“Compile and Download”按钮。这将在导航栏折叠时更改断点。例如,在bootstrap.css文件中,以下值从

更改
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }

以下这个。以前的@media设置来自默认的bootstrap.css下载,没有自定义。

@media (min-width: 480px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }

更改这些设置的第二种方法是使用LESS并从源代码编译相同的值。如果您决定进行自己的编译,则可以在引导源安装的较少目录(Bootstrap_dir / less / variables.less)的@grid-float-breakpoint文件中发现变量variables.less。有关详情,请访问Compiling CSS and JavaScriptBootstrap 3 Less Workflow Tutorial