html - Bootstrap 3 - 如何最大化导航栏内的输入宽度

标签 html css navbar twitter-bootstrap-3 html-input

现在我有一个导航栏,如下所示: http://bootply.com/78239

我想最大化“搜索”文本输入的宽度,而不创建换行符(即,“清除”链接将与“关于”链接紧密相连)。

我只有基本的 CSS 和网页设计经验。我阅读了一些关于“overflow: hidden”的技巧,但我不明白当目标元素右侧有更多元素时如何使用它。

谢谢


编辑:

部分解决方案可以是为每种情况“手动”设置宽度,如 http://bootply.com/78247 :

@media (max-width: 767px) {
  #searchbar > .navbar-form {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #searchbar > .navbar-form {
    width: 205px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #searchbar > .navbar-form {
    width: 425px;
  }
}

@media (min-width: 1200px) {
  #searchbar > .navbar-form {
    width: 625px;
  }
}

但是当菜单的文本是“动态的”(例如,包含“Hello username”)时,此解决方案将不起作用。

如果您假设菜单文本的宽度有限制,我想这不是什么大问题 - 手动计算/测试这些宽度很烦人。 我只是想知道是否有一种巧妙的方法可以自动执行此操作。

最佳答案

对于 Bootstrap 3.2 及以上版本,您还应该为 input-group 设置 display:table; 并将宽度设置为 1% 对于 input-group-addon

<div style="display:table;" class="input-group">
            <span style="width: 1%;" class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span>
            <input type="text" autofocus="autofocus" autocomplete="off" placeholder="Search Here" name="search" style="" class="form-control">
          </div>

演示 Bootstrap 版本 3.2+:http://www.bootply.com/t7O3HSGlbc

--

是否允许更改导航栏元素的位置?我不明白“不创建换行符(即,“清除”链接将与“关于”链接紧密相连)。”试试这个:http://bootply.com/78374 .

我做了什么:

  • 放下窗体左侧的 float (通过放下 navbar-left 类)
  • 给其他导航栏元素一个右浮动(navbar-right 类)
  • 将表单组的显示设置为内联 (style="display:inline")
  • 改变元素的位置(右边先 float )

相关问题:

html:

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">My Project</a>
    </div>
    <div class="navbar-collapse collapse" id="searchbar">

      <ul class="nav navbar-nav navbar-right">
        <li><a href="about.html">About</a></li>
        <li id="userPage">
          <a href="#@userpage"><i class="icon-user"></i> My Page</a>
        </li>
        <li><a href="#logout" data-prevent="">Logout</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#" title="Start a new search">Clear</a></li>
      </ul>



     <form class="navbar-form">
        <div class="form-group" style="display:inline;">
          <div class="input-group">
            <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span>
            <input class="form-control" name="search" placeholder="Search Here" autocomplete="off" autofocus="autofocus" type="text">
          </div>
        </div>
      </form>

    </div><!--/.nav-collapse -->
  </div>
</div>

关于html - Bootstrap 3 - 如何最大化导航栏内的输入宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552714/

相关文章:

html - 导航栏的元素同时定位在左右两侧,没有 float

javascript - 鼠标悬停时显示导航栏

javascript - 在 Firefox 中,onload 未使用 createObjectURL img.src 触发

iphone - 打开 native 应用程序。来自 Safari

css - 如何使图像中的链接可点击?

JavaFX TableColumn 图形不隐藏

css - 如何使用unicode使用ttf文件中的图标

html - 在表格中滚动以避免溢出

javascript - Raphael JS 路径的“删除”动画

html - 菜单字体大小不一样