html - css 自动扩展 float 元素(未知宽度)

标签 html css width css-float

我的水平导航栏是这样的:


| MENU-ITEM 1 | MENU-ITEM-2 | MENU-ITEM 3 | SEARCH FIELD              |

菜单项具有相同的宽度,但由于网站是 cms 驱动的,因此元素的数量和菜单项列表的宽度将发生变化。

我正在寻找一种 CSS 解决方案,用于自动拉伸(stretch)右侧的搜索字段,以使用导航栏内 100% 的剩余空间。导航栏的总宽度是静态的(大约 950 像素)。

html 是这样的,但也许我仍然需要包装器:

<div id="nav">
   <ul id="nav-items">
      <li class="nav-item">MENU-ITEM 1</li>
      <li class="nav-item">MENU-ITEM 1</li>
      <li class="nav-item">MENU-ITEM 1</li>
   </ul>
   <div id="search-cont">
      <input id="search">
   </div>
</div>

最佳答案

这是一个基本的 fiddle :http://jsfiddle.net/Qg2ag/

思路是:

  1. 输入字段的包装必须有 display:blockoverflow:hidden
  2. 靠近它的菜单必须有 float:left 并且其中的元素必须是 inlineinline-block

因此, float block 吃掉它是溢出 block 的宽度,因此您可以安全地在其中设置width: 100%。而且我已经将 padding-right: 6px 添加到输入的包装器中,因此无需调整它的宽度或使用其他盒子模型。当然,如果您更改输入的样式,此填充的大小可能会有所不同。

关于html - css 自动扩展 float 元素(未知宽度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796862/

相关文章:

css - 是否可以在元素中插入边框,留下边距?

reactjs - 在 ag-Grid 中设置列​​的细宽度不起作用

ios - 如何计算在 View 上绘制时恰好适合矩形宽度的给定 NSString 的字体大小?

html - 登录/注销 session 未完全正常工作。联合应用程序

javascript - 道场 : Accordion open and close

css - 鼠标悬停时第三层下拉菜单消失

css - autoprefixer 和 post css 不在 sass 文件上运行

Android ViewPager 布局的不同宽度

php - 如何正确放置我的字幕?

javascript - 页面刷新时未登录 Google 登录(Polymer)