html - 我有两列 HTML 设计。如何使 `#left` div 消耗尽可能多的空间(并可调整大小),同时 `#right` 保持恒定大小?

标签 html css

下面是说明问题的 HTML:

<div id="content">
  <div id="left" style="float: left">
    left content
  </div>
  <div id="right" style="float: left; width: 250px">
    right content
  </div>
 </div>

如何让 #left 占据左侧容器中的所有空间,同时仍然使 #right 适合其中(在右侧占据 250px)?

调整大小时,我希望 #left 调整大小,但 #right 仍处于正确的大小。

有什么想法可以做到这一点吗?

我尝试了以下方法,但都不起作用:

<强>1。将宽度 100% 添加到 #left

<div id="content">
  <div id="left" style="float: left; width: 100%">
    left content
  </div>
  <div id="right" style="float: left; width: 250px">
    right content
  </div>
 </div>

这不起作用 - 现在 #left 占据 100% 的内容,并且 #right 已被换行并推到其下方。

<强>2。将宽度 70% 添加到 #left

<div id="content">
  <div id="left" style="float: left; width: 70%">
    left content
  </div>
  <div id="right" style="float: left; width: 250px">
    right content
  </div>
 </div>

这不起作用,因为现在右侧有一个间隙。 #left 占用了 70% 的空间,但也许还有 72% 可用。

这也不起作用,因为当我将内容大小调整为小于 70% + 250px 时,#right 列会立即换行并跳转到 #left 下面。

<强>3。将 min-width: 100% 添加到 #left

<div id="content">
  <div id="left" style="float: left; min-width: 100%">
    left content
  </div>
  <div id="right" style="float: left; width: 250px">
    right content
  </div>
 </div>

这不起作用 - #left 现在再次占用 100%。

<强>4。添加 max-width: 100% 到 #left

<div id="content">
  <div id="left" style="float: left; max-width: 100%">
    left content
  </div>
  <div id="right" style="float: left; width: 250px">
    right content
  </div>
 </div>

这也不起作用 - #left 现在再次占用 100%。

<强>5。 #right 向右浮动

<div id="content">
  <div id="left" style="float: left;">
    left content
  </div>
  <div id="right" style="float: right; width: 250px">
    right content
  </div>
 </div>

确实没有帮助。 #left 仍然尽可能占用一点空间。

<强>6。使用 display: inline-block

<div id="content">
  <div id="left" style="display: inline-block">
    left content
  </div>
  <div id="right" style="display: inline-block; width: 250px">
    right content
  </div>
 </div>

与原始问题中的内容相同。 #left 现在占用的空间与 left content 中的空间一样小。

感谢任何帮助!

最佳答案

<div id="content">
  <div id="left" >
    left content
  </div>
  <div id="right">
    right content
  </div>
 </div>

CSS:

#content {
    display:table;
    table-layout:fixed;
    width:100%;
    height:100%;
}
#left {
    display:table-cell;
    background-color:red;
}
#right {
   display:table-cell;
    background-color:blue;
    width:250px;

}

演示:http://jsfiddle.net/f0xed7a2/

根据你的描述,这应该可以解决问题,很好的旧表......以 CSS 方式。

关于html - 我有两列 HTML 设计。如何使 `#left` div 消耗尽可能多的空间(并可调整大小),同时 `#right` 保持恒定大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32238913/

相关文章:

javascript - 如果在 jQuery 中完成多页,则后退按钮在浏览器中不起作用

html - CSS3防止内容溢出flexbox

javascript - 在 'div' 上禁用鼠标事件

html - 如何让 child 不向 parent 展示?

javascript - jQuery addClass 到具有与 Waypoints 相同类名的元素

html - 盒子定位问题

html - 在 css 中修复图像上的文本

css - 我的下拉菜单在 IE 中不起作用

html - 如何让这两个div左右

javascript - 如何使非事件标签不可点击