0

这是我的情况:

  • 我目前正在完成一个相当大的 Web 应用程序(PHP 与 CodeIgniter、MySQL、Javascript+Ajax+Jquery 并使用各种 Javascript 库 - 例如 dataTables)

问题 :

  • 假设我们有一个固定宽度的表格
  • 第一也是固定宽度。(假设在200px
  • 当表格被填充时:
    • 如果第一列的内容占用不到 200px 的空间,就可以了。
    • 如果内容超过 200 像素,则内容将被包装,从而创建“双线”效果和比我希望的更高的行。

暗示 :

  • “缩小” avery very very long line到类似的东西very very very ...是我的想法。这样的事情可能吗?服务器端?

你会怎么处理呢?(最好以一种优雅的方式 - '因为,是的,我承认我有一些解决方案,但似乎都没有......用户友好......哈哈)

4

1 回答 1

1

我认为在服务器端进行字符串截断是不可能的,如果您不使用等宽字体,那么相同数量的字符始终具有相同的宽度。您可以做的是客户端字符串截断:

(使用 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,计算宽度并检查它是否合适。...如果字符串太长,请确保添加。

于 2012-08-16T13:18:05.860 回答