HTML表包裹列

时间:2012-06-05 17:23:06

标签: javascript html-table

我有一个表,用户将数据输入到列中。每次用户输入数据时,都会创建一个新列。过了一会儿,他们有一些TON的列,我需要它们来包装。

我知道如何将文本包装在列中,但我需要将整个列包装在第一列下面,依此类推。

4 个答案:

答案 0 :(得分:2)

你不应该为此使用表格。 你应该使用带有“float:left”CSS样式的div。

以下是一个工作示例:http://jsfiddle.net/3MEJ5/

答案 1 :(得分:1)

实际上并不简单。表/行/列结构非常严格。为了实现您所描述的内容,您必须将每个单元格创建为巨大外部单元格中的单细胞表格。然后他们会换行。但是,他们可能不会很好地对齐。

答案 2 :(得分:1)

不要使用表列,而是尝试让每个输入数据自己成为一个表,使用以下CSS包装在<div class="datainput">内:

.datainput {display: inline-block; vertical-align: top;}

现在,不是添加新列,而是复制容器。这将把它放在现有的旁边,并在需要时包装。

如果无法换行,请将此CSS应用于包含所有这些容器的元素:

word-break: break-all;

答案 3 :(得分:-1)

为此,一个好的解决方案是使用CSS3列。

您可以在容器上设置CSS属性,子代将顺流而下。

您可以选择:

div {
  /* Make columns with a min width of 100px, create multiple columns as space permits */
  column-width: 100px;
  column-count: 3; /* Divide the text in a <div> element into three columns */
  column-gap: 40px;  /* Specify a 40 pixels gap between the columns */
  /* Specify the width, style, and color of the rule between columns */
  column-rule: 4px double #ff00ff;
}

有关更多详细信息,请参见:https://www.w3schools.com/cssref/css3_pr_columns.asp

有关浏览器的支持,请参见:https://caniuse.com/#search=css3%20columns