代码之家  ›  专栏  ›  技术社区  ›  DarkLeafyGreen

用CSS创建具有固定宽度列的HTML表

  •  2
  • DarkLeafyGreen  · 技术社区  · 14 年前

    我希望一个表有固定的宽度,但动态的高度,因为内容可能是不同的长度。下面是一个例子:

    alt text

    我有固定的宽度,但内容是重叠的。我做错什么了?这是我的代码:

    <table width="60%" align='center' cellpadding='2' 
            cellspacing='2' border='2' style='table-layout:fixed'>
        <thead>
            <tr>
                <th>#</th>
            </tr>
        </thead>
        <tbody>
            ...
        </tbody>
    </table>
    

    我的css:

    table{
    font-size:12px;
    }
    
    table td{
        padding:5px; height:auto;
        background:#f6f6f6;
    }
    
    table thead tr th{
        background:#d7dbe2; 
    }
    

    有什么办法使高度动态变化吗?

    4 回复  |  直到 7 年前
        1
  •  4
  •   DarkLeafyGreen    14 年前
    table td{
        word-wrap:break-word;
    }
    

    这对我有效;)

        2
  •  1
  •   PeeHaa    12 年前

    我想没有 'breaking points' (例如空格)在文本中。所以文本不能分成多行。一个解决办法是 &shy; 在文本可能中断的地方。

        3
  •  0
  •   Niet the Dark Absol    14 年前

    问题可能是由于您使用 table-layout: fixed -我建议你 style="width: 150px;" 在每个 <th> 标记并移除 table-layout

        4
  •  0
  •   Zach Shallbetter    14 年前

    这个 <th> 宽度往往取代 <td> 宽度。所以只需在 <th> (正如科林克所说)应该能解决你的溢出问题。

    table thead tr th{
        width:120px; 
    }