调整Bootstrap中的下拉菜单

时间:2014-11-13 19:21:04

标签: html css html5 twitter-bootstrap bootstrap-material-design

我使用Bootstrap 3.2以及this material design plugin.我在导航栏中添加了一个下拉列表。在此下拉菜单的列表项中,我有一个自定义"布局"。像这样:

<li class="list-group-item">

    <div class="row-picture">
        <img class="circle" src="" alt="icon"></img>
    </div>
    <div class="row-content">
        <h4 class="list-group-item-heading">Placeholder</h4>
        <p class="list-group-item-text">Placeholder</p>
    </div>

</li>

问题是当我点击下拉按钮时,下拉菜单会切断文本。我尝试了几种不同的编辑css的方法,以便在答案like this onethis one.之后更改宽度但是,似乎没有一种方法可以解决我的问题。如何将自定义宽度设置为下拉菜单,因此,它不会剪切我的文本?

修改:以下是一些相关代码:

&#13;
&#13;
<head>
  <meta charset="utf-8"></meta>
  <meta name="viewport" content="width = device-width, initial-scale = 1"></meta>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"></link>
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/css/material.min.css"></link>
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/css/material-wfont.min.css"></link>
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/css/ripples.min.css"></link>
  <link rel="stylesheet" type="text/css" href="css/dashboard.css"></link>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</head>

<body>

  <header id="header-navigation">
    <div id="nav-bar-container">
      <nav id="nav-bar" class="navbar navbar-default navbar-fixed-top" role="navigation">
        <div id="nav-item-container" class="container-fluid">
          <div id="drop-down" class="navbar-header">
            <div id="home-button" class="navbar-left">
              <a class="navbar-brand" href="#">
                <img alt="Brand" src=""></img>
              </a>
            </div>
          </div>
          <ul class="nav navbar-nav navbar-right">
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">User Name
    							<span class="mdi-navigation-expand-more"></span>
    						</a>
              <ul class="dropdown-menu list-group" id="dropdown-items" role="menu">
                <li class="list-group-item">

                  <div class="row-picture">
                    <img class="circle" src="" alt="icon"></img>
                  </div>
                  <div class="row-content">
                    <h4 class="list-group-item-heading">Placeholder</h4>
                    <p class="list-group-item-text">Placeholder</p>
                  </div>

                </li>
                <li><a href="#"><span class="glyphicon glyphicon-log-out"> Logout</span></a>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </header>

  <script src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/js/material.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/js/ripples.min.js"></script>

</body>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

Bootstrap是一个很棒的库,但它可以通过下拉菜单和模态窗口以非常严格的方式完成任务。当我想做的事情超出他们正在使用的范例时,我发现自己不得不解决它。做你想做的事情的一种方法是使你的css尽可能具体,这样你就可以覆盖bootstrap css选择器。

例如

而不仅仅是

.dropdown .list-group-item{}

尝试

html body ... [drilling into elements] ... div.dropdown div.list-group-item {}

我使用Bootstrap做的很多事情是使用!important;标志在css规则上是挑剔的。

.dropdown .list-group-item{ width: 400px!important; }

在许多情况下,我必须同时做这两件事。