【发布时间】:2013-07-31 22:46:21
【问题描述】:
这个问题已经被问过好几次了,但提供的答案似乎都对我没有帮助:
在此处查看实际操作:http://jsfiddle.net/BlaM/bsQNj/2/
我有一个包含两列的“动态”(基于百分比)布局。
.grid {
width: 100%;
box-sizing: border-box;
}
.grid > * {
box-sizing: border-box;
margin: 0;
}
.grid .col50 {
padding: 0 1.5%;
float: left;
width: 50%;
}
在这些列中的每一列中,我都有一个应该使用完整列宽的表格。
.data-table {
width: 100%;
}
.data-table td {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
我的问题是该表中的某些列的内容需要被截断以适合表的给定宽度。但是,这不会发生。我得到两个相互重叠的表。
要求:
- 需要基于百分比。我无法设置绝对尺寸。
- 每行的高度不得超过一个文本行(如果我删除空格:nowrap,就会发生这种情况)
- 必须在 Chrome、Firefox 和 Internet Explorer 8+ 中运行
- 无法在彼此下方显示表格,因为打印时表格必须适合一张纸。
我尝试了什么:
- 在里面使用宽度和溢出。什么都没改变。
- “显示:表格;”包含 div - 表格不是有两列而是显示在彼此下方
- “表格布局:固定;” - 强制所有列具有相同的宽度
- 我知道第 2+3 列总共有 30% 的宽度,所以我尝试手动将第 1 列设置为 70% - 没有改变任何东西
- Zero-width spaces in content - 没有改变任何东西,可能是由于 white-space: nowrap;
相关问题:
【问题讨论】:
-
这里有几个想法。如果您必须截断某些文本,请溢出:隐藏;基本上取消了这种效果,所以如果有额外的文字,它就会被隐藏起来。我不确定我是否理解 a) 将所有内容保持在一条线上并切断一些线(未隐藏)和 b) 让多个表格相互重叠。
-
a) 我不希望这些表重叠。这正是我想要避免的。 b)我可以在文本不适合表格宽度的地方截断文本。 c) 为什么总是有人在这个网站上问“为什么”,即使它无助于解决问题? ;)
-
@BlaM 询问为什么是确定 OP 会接受哪些解决方案变体的一种方法。
标签: html css html-table column-width