首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在web开发中实现2行和2宽来适应列?

如何在web开发中实现2行和2宽来适应列?
EN

Stack Overflow用户
提问于 2010-06-02 11:55:08
回答 4查看 186关注 0票数 2
代码语言:javascript
复制
<td style="width:230px;overflow:hidden;">
<?php echo $something; ?>
</td>

我所做的是将$something最多裁剪为2行,并在需要时添加...

但这种要求在尝试实现时似乎线索较少,

欢迎使用php/javascript/css范围内的解决方案!

有谁有主意吗?

EN

回答 4

Stack Overflow用户

发布于 2010-06-02 12:26:21

正如eykanal所说,您不能准确地预测用户的自定义设置。您可以做的唯一一件事就是测量一个有两行文本的元素(在没有填充的屏幕外的div元素中放置少量文本,并测量高度),并将overflow设置为隐藏。

有几个技巧可以获得省略号,但没有一个是我绝对推荐的。您可以在父元素中绝对定位div (使用相对定位),并将其设置为bottom: 0,right: 0,与父元素具有相同的背景色,从而掩盖元素中的最后一段文本。

代码语言:javascript
复制
<style type="text/css">
#parent {
  position:relative;
  overflow: hidden;
  width: 230px;
  height: auto;
  background: #f1f1f1;
}
.ellipsis {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #f1f1f1;
}
</style>

<div id="parent">
  This would be the text that was inserted by the PHP code you mentioned above
  <div class="ellipsis">...</div>
</div>

然后,为了让Javascript获得高度,将其作为伪代码...

代码语言:javascript
复制
<script type="text/javascript">
window.onload = function() {
  var textDiv = document.createElement('div');
  textDiv.style = 'padding:0;position:absolute;left:-500px;top:-500px;';
  textDiv.innerHTML = 'Getting<br>Height';
  document.body.appendChild(textDiv);

  var textHeight = (textDiv.offsetHeight || textDiv.clientHeight);
  document.body.removeChild(textDiv);

  document.getElementById('parent').style.height = textHeight;
}
</script>

当然,如果你使用的是Javascript框架(Mootools,jQuery),你可以修改你创建元素和设置属性的方式,但这在很大程度上应该是非常接近你想要的东西,并且只需要最少的修修补补。

您可能还希望将带有省略号类的所有元素的高度设置为从javascript检索到的高度的一半。

我就知道这么多了,伙计。希望能有所帮助。:-)

票数 1
EN

Stack Overflow用户

发布于 2010-06-02 12:09:38

我不确定php的字符串方法,但你可以检查一下是否有truncate方法。尝试查找表格单元格的最大字符数,然后使用调用$something.truncate($max_num_of_table_cell)

票数 0
EN

Stack Overflow用户

发布于 2010-06-02 12:10:31

我认为你遇到了文本过长的问题。为此,使用wordwrap函数,

手动示例:

代码语言:javascript
复制
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", 1);

echo "$newtext\n";
?> 

输出:

代码语言:javascript
复制
     1. A very
        long
        wooooooo
        ooooord.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2954897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档