表有3列。固定中心列宽。如何在其他两列上共享宽度?

时间:2011-10-24 23:05:24

标签: html css html-table

我有一个100%宽度的表,有3列。中心列的宽度必须为600px。如何在占用剩余空间的同时使另外两个宽度相等?

<table style="width: 100%">
    <tr>
        <td>left</td>
        <td style="width: 600px">center</td>
        <td>right</td>
    </tr>
</table>

目前,根据左列或右列的内容,它们总是不均匀的。我尝试在左右两侧设置50%宽度以及其他数字和最小宽度试验。

请不要jQuery / Javascript。

3 个答案:

答案 0 :(得分:4)

这个老问题的新答案。

  1. 为中间列th提供max-widthmin-width代替width
  2. 左右th width 50%。{/ li>
  3. 根本不给table width
  4. 我已在width修复了此示例中间列300px

    jsBin Example!

    CSS

    table {
        border-collapse: collapse;
    }
    th, td {
        border: solid 1px #CCC;
        padding: 10px;
    }
    .fixed {
        max-width: 300px;
        min-width: 300px;
    }
    .fluid {
            width: 50%;
    }
    

    HTML

    <table>
        <thead>
            <tr>
                <th class="fluid">First Column</th>
                <th class="fixed">Fixed Column</th>
                <th class="fluid">Third Column</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>
    </table>
    

答案 1 :(得分:0)

使用“colgroup”标签可能对此有很大帮助。

<table class="fixed-center-table" border="1">
        <thead>
            <colgroup>
                <col>
                <col id="middle-column">
                <col>
            </colgroup>
            <tr>
                <th>First Column</th>
                <th></th>
                <th>Third Column</th>
            </tr>
        </thead>

        <tbody>
            <tr>
                <td>AAAAAA</td>
                <td>BBBB</td>
                <td>CCCCC</td>
            </tr>
            <tr>
                <td>AAAAAA</td>
                <td>BBBB</td>
                <td>CCCCC</td>
            </tr>
            <tr>
                <td>AAAAAA</td>
                <td>BBBB</td>
                <td>CCCCC</td>
            </tr>
        </tbody>
</table>

.fixed-center-table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

.fixed-center-table  td{
   text-align: center;
}

col#middle-column {
   width: 600px;
}

答案 2 :(得分:-2)

我猜中心栏使用的“align = center”可能会对你有帮助。