将动态文本拟合到表中

时间:2014-11-25 08:21:51

标签: html css html-table

我无法在Google和Stack Overflow上找到关于如何将文本放入表中以便将单词转到下一行的任何答案。我发现的唯一有用的解决方案是#34;固定表格单元格,但文本仍在页面上运行"。

当文字很短时: http://puu.sh/d4IQ2/7a7c95512c.jpg

当文字太长时: http://puu.sh/d4ITM/6edb003a7c.jpg

如何根据窗口大小修改表格中的空格,然后让文字太长,增加表格行的高度,然后转到下一行。

例如,我的表格是这样的:

+------+-----+-----+--------+
| 12345|12345|12345|  12345 |
|------+-----+-----+--------|
| 12345| 123 |  1  |   123  |
|------+-----+-----+--------|
|123456|12345| 123 |12345678|
|------+-----+-----+--------|
| 12345| 123 |12345|  1234  |
+-----+-----+-----+---------+

当我想要这样的时候:

+-----+-----+-----+-----+
|12345|12345|12345|12345|
|-----+-----+-----+-----|
|12345| 123 |  1  | 123 |
|-----+-----+-----+-----|
|12345|12345| 123 |12345|
|  6  |     |     | 678 |
|-----+-----+-----+-----|
|12345| 123 |12345| 1234|
+-----+-----+-----+-----+

style.css:

table, th{ border: 1px solid black; border-collapse: collapse; } th { table-layout:fixed padding: 15px; }

PHP代码太长了,我不想列出所有函数,单元格中的行和文本循环从SQL数据库获取数据:

<table style = "width = 100%">
  <tr> 
    <th> looped text </th>
  </tr>
</table>

6 个答案:

答案 0 :(得分:0)

为每个td代码

平均设置td大小
<td width="25%">Name</td>

答案 1 :(得分:0)

在CSS中为列指定宽度。这应该可以解决问题。

答案 2 :(得分:0)

在css文件中添加

  td {
      width : 300px !important;
    }

答案 3 :(得分:0)

table-layout:fixed应用于表格元素(而不是th),并将word-wrap:break-word添加到帖子中。

http://jsfiddle.net/5rz1fmvk/

答案 4 :(得分:-1)

嗯,我认为一个解决方案是为你的表设置一个最大宽度样式。这样,表格宽度不会超过给定的最大宽度,唯一剩下的就是下面的值。

<table style="max-width: 500px; width: 500px;">
</table>

另外,指定宽度。 当然风格应该在extern css文件中,但你明白了。希望它有所帮助。

table{
 width: 500px;
 max-width:500px
}

答案 5 :(得分:-1)

尝试固定th的宽度和td put css word-wrap:break-word;以下样本。你可以改变th的宽度。

  table{
     width:100%:
    }
    th{
       width:30%;
    }
    td{
     word-wrap: break-word;
    }