2012-08-16 81 views
0

OK,这是我的情况:使HTML表格单元格的内容适合 - 没有包装?

  • 我目前在敲定一个相当庞大的...... Web应用程序(PHP使用CodeIgniter,MySQL和JavaScript和Ajax的+ jQuery和使用各种JavaScript库的过程 - 如数据表)

问题:

  • 比方说,我们已经有了一个表,固定宽度
  • 第一个也是固定宽度。 (让我们在200px说)
  • 当填充表:
    • 如果第一列的内容占据小于200像素的空间,它的确定。
    • 如果内容超过那些200px然后内容被包装,从而创建一个“双线”效果和更高的行比我想要的。

提示:

  • “缩水” 一very very very long line喜欢的东西very very very ...是我在想什么。是甚至可能的吗?服务器端?

你会怎么做? 10(最好以一种优雅的方式 - '因为,我承认我有几个解决方案,没有一个似乎...用户友好...大声笑)

+1

你想要发生什么? – 2012-08-16 12:08:40

+0

@BillyMoat刚刚更新了我的初始帖子,给你的一般想法。 – 2012-08-16 12:10:30

+0

也许这样的jQuery插件? http://plugins.learningjquery.com/expander/ – 2012-08-16 12:11:57

回答

1

我认为做一个字符串 - 如果您不使用等宽字体,以便相同数量的字符总是具有相同的宽度,则截断不可能在服务器端。你可以做的是客户端的字符串截断:

(在Calculate text width with JavaScript漂亮的代码):

CSS:

#testing-div 
{ 
    position: absolute; 
    visibility: hidden; 
    height: auto; 
    width: auto; 
} 

JS:

var test = document.getElementById("testing-div"); 
test.style.fontSize = fontSize; 
var height = (test.clientHeight + 1) + "px"; 
var width = (test.clientWidth + 1) + "px"; 

可以遍历字符串的整个长度,并继续向#testing-div的主体添加一个字符,计算宽度,并检查它是否合适。如果字符串太长,请确保添加...

相关问题