在html表中设置max-height元素

时间:2011-05-19 18:55:21

标签: asp.net html css

我意识到这个问题可能已经被要求死亡,但我找到的答案似乎都没有效果。我有一个ASP转发器控件,我已经将ItemTemplate设置为一个包含两行的简单表。

填充行时,我希望行保持我设置的高度,而不是增长到内容的大小。

我已经尝试在表格,表格行和表格数据上设置style="max-height:100px; overflow:auto";但没有做任何事情。

如何确保我的转发器模板始终具有相同的高度,而不是其内容的高度?

3 个答案:

答案 0 :(得分:2)

我认为您需要像这样的解决方案:

table{
  width:200px;
  table-layout:fixed;
}

tr{
   white-space:nowrap;   
}

td {
  height:20px;
  white-space:inherit;
  width:100px;
  overflow:hidden;
}

固定表格布局: 水平布局仅取决于表格的宽度和列的宽度,而不是单元格的内容。允许浏览器以比自动表格布局更快的速度布置表格。

white-space:nowrap:空格的序列将折叠为单个空格。文本永远不会换行到下一行。文本在同一行继续,直到遇到
标签

溢出:隐藏:溢出被剪裁,其余内容将不可见

适用于大多数现代浏览器。

<强> fiddle here

答案 1 :(得分:1)

你的CSS应该是{height:100px; max-height:100px!important;溢出:隐藏; }

  • 首先设置高度
  • 然后它会设置最大高度 - 你要保持这个相同。它还会告诉浏览器这比以前的高度设置更重要。你只设置它以确保IE保持一致,因为IE8和更低版本根本没有读取最大高度,或者说最好不好。
  • 最后,溢出应该是“隐藏”,这样你就会隐藏内容。除非那不是你想做的事情?

如果你想要滚动条,我担心TD或TR不是最好的方法。你需要在每个TD中放一个div,然后将上面的CSS设置为。换句话说,您需要更多嵌套。

答案 2 :(得分:1)

确保将这些CSS属性(特别是overflow:hidden)应用于重复的父块元素。如果父元素被展开并且对内联元素执行它不会影响它,那么对子元素执行它将没有用,因为内联元素必然使用其内容的大小。