css - 如何制作固定宽度的中心 3 列布局?

标签 css layout

我正在尝试制作一个包含三列的布局来填充整个窗口。中间列应位于页面中央并具有固定宽度(以像素为单位,而不是百分比)。左右 div 的宽度应相等,但它们的宽度会随着剩余窗口宽度的变化而变化。

这是 Html:

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

有没有办法只用 CSS(不用 JavaScript)来做这个布局?如果不能,是否可以用表格来做?

这是到目前为止我发现的几个具有三列布局的链接。没有一个提供我需要的约束。

http://www.dynamicdrive.com/style/layouts/category/C10/
http://matthewjamestaylor.com/blog/perfect-3-column.htm

预先感谢您的帮助。

编辑:
更具体地说,我希望保留以下内容:(以像素为单位的值)

middle.width = 500
left.width = right.width = (window.width <= 500) ? 0 : (window.width - 500) / 2; 

编辑:
这是一个 JavaScript 解决方案:

window.onresize = function() {
   var width = ((window.innerWidth - 500) / 2) + "px";
   document.getElementById("right").style.width = width; 
   document.getElementById("left").style.width = width; 
}​

最佳答案

您可以尝试使用 width=100% 和三列的表格,设置中间列静态宽度。

<table width="100%">
   <tr>
     //left col
      <td>
      </td>

     //main col
     <td style="width:500px;">
     </td>

     //right col
     <td>
     </td>

  </tr>
</table>

尝试在每一列中插入一个 block 元素,如 div 或 p,空列可能表现得很奇怪:)

关于css - 如何制作固定宽度的中心 3 列布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517061/

相关文章:

css - 使内容内联

javascript - 尝试使用 CSS/jQuery 在悬停时平滑/连续地制作正弦波链接下划线动画

java - 如何模糊对话框 Activity 背景

java - JScrollPane 中的 JComboBox

ios - 使用可视格式语言将 View 置于其父 View 的中心

JavaFX 8. 在 BorderPane 中调整 SplitPane 的大小

CSS技术使正方形在填充父容器的宽度时漂浮在网格中

html - 对 th 的后代不应用任何换行

css - 100% 宽度图像,与 min-height 保持比例

javascript - Bootstrap 确认主模态后面的模态