html - 三列布局中的动态宽度第三列

标签 html css

我正在研究三列布局:

<div id="first"></div>
<div id="second"></div>
<div id="third"></div>

我想让前两列的宽度固定,第三列占据页面上的剩余空间。只为所有内容设置百分比宽度是一种选择,但不是可取的。

我考虑过的一个选项:

div#first {position: absolute; left: 0; top: 0; width: 150px;}
div#second {position: absolute; left: 150px; top: 0; width: 450px;}
div#third {margin-left: 600px}

我过去曾使用过类似的东西,但收效甚微。也就是说,我发现如果 #first 中有任何 float 元素或 #second , 清除了 #third 中的元素也会清除 #first 中的那些和 #second .虽然可以在没有清除的情况下工作,但我想尽可能避免一个限制。

我意识到我想要的行为确实可以通过以下布局产生:

<table style="width: 100%">
  <tr>
    <td width=150"><div id="first"></div></td>
    <td width=450"><div id="second"></div></td>
    <td><div id="third"></div></td>
  </tr>
</table>

虽然 SEO 在此站点上不是问题,但将表作为根节点感觉不对。

最佳答案

听起来您正在寻找这样的东西:

CSS

<style type="text/css">
  #first,#second {
    float: left;
  }

  #first {
    width: 150px;
    border: 1px solid red;
  }

  #second {
    width: 450px;
    border: 1px solid green;
  }

  #third {
    width: auto;
    overflow: auto;
    border: 1px solid blue;
  }
</style>

HTML

<div id="first">Left</div>
<div id="second">Middle</div>
<div id="third">Right</div>

关于html - 三列布局中的动态宽度第三列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175915/

相关文章:

html - 同一个div里面的button和heading在不同的行

javascript - 如何让播放/暂停音乐按钮循环播放音乐?

css - 对评估的字符串颜色应用颜色函数

html - 让 <a> 链接垂直填充 div

html - 如何在 Firefox 的连字符处启用换行符

javascript - 如何在 JavaScript 上创建 div 并设置样式

html - HTML5 视频的图像占位符回退

javascript - 使用 JavaScript 更改单元格的值

html - 创建响应表

css - 为 Angular Logo 创建无缝、可平铺的图像