当前位置: 首页 > 面试题库 >

在特定行数后插入省略号

慎望
2023-03-14
问题内容

我正在尝试仅显示文本的前5行。问题在于文本的设置方式是<p>一个div中的多个标签,例如

<div class="myText">
  <p>some text</p>
  <p>some text</p>
  <p>some text</p>
  <p>some text</p>
  <p>some text</p>
  <p>some text</p>
  <p>some text</p>
</div>

但是在这种情况下它们都不起作用,在这种情况下,我希望在最后一行的最后一个单词之后加上省略号,即使它没有到达行尾,也有多个<p>标签。

我在Angular中使用JavaScript。


问题答案:

是的,您可以使用一些插件,但是编写自己的逻辑并不难。基本概念是不断减少文本的数量,直到适合为止。这听起来很昂贵,但实际上它可以正常工作,并且可以在必要时进行优化。

// Populate an element with text so as to fit into height
function truncate(elt, content, height) {

  function getHeight(elt) { return elt.getBoundingClientRect().height; }
  function shorten(str)   { return str.slice(0, -1); }

  elt.style.height = "auto";
  elt.textContent = content;

  // Shorten the string until it fits vertically.
  while (getHeight(elt) > height && content) {
    elt.textContent = (content = shorten(content)) + '...';
  }

}

要使用此功能:

truncate(div, "Some very long text to be truncated", 200)

要使用HTML内容,请根据需要进行调整/扩展。



 类似资料:
  • 我正在尝试创建一个行,其中的中心文本有一个最大的大小,如果文本内容太大,它适合的大小。 我插入了属性来缩短文本,并插入了三重点,但它不起作用。 Main.Dart 结果: 预期:

  • 有没有一种干净的方法来返回一个新对象,它省略了原始对象包含的某些属性,而不必使用像lodash这样的东西?

  • 本文向大家介绍C++ 参数省略,包括了C++ 参数省略的使用技巧和注意事项,需要的朋友参考一下 示例 当将参数传递给函数时,参数是函数参数类型的prvalue表达式,而该类型不是引用,则可以忽略prvalue的构造。 这表示要创建一个临时文件string,然后将其移动到function参数中str。复制省略允许该表达式直接在中创建对象str,而不是使用临时+移动。 这对于声明构造函数的情况非常有用

  • 省略 不推荐省略 0 值单位,原因如下: CSS 规范中可以省略单位只有 [<length-percentage>](https://drafts.csswg.org/css-values-3/#typedef-length-percentage),其他比如角度单位 deg 在 Chrome 中可以省略, 这是浏览器的 Bug。 注:可以省略的单位包括:%|em|ex|ch|rem|vw|vh|v

  • 问题内容: 我有一个具有弹性布局的网页,如果调整了浏览器窗口的大小,该网页的宽度就会改变。 在此布局中,标题()的长度是可变的(实际上是我无法控制的博客文章的标题)。当前-如果它们比窗口宽-分为两行。 是否有一种经过测试的(跨浏览器)优雅的解决方案(例如jQuery),可以缩短该标题标签的innerHTML,并在文本太宽而无法在当前屏幕/容器宽度? 问题答案: 我有一个可以在FF3,Safari和

  • 问题内容: 我有一个带有两列“标识符”,“值”和“子标识”的以下数据框 df : 我有一个索引列表,例如 我想在列表x中提到的索引之前插入行。就像,对于在索引2之前插入的行,将具有以下值,它将具有 与 在索引2处的行 相同的标识符 ,即1; 与 索引2的行 相同的值 ,即103;但是新行中的 subid 将是((索引2处的subid)-1),或者仅仅是前一行的subid,即1。 以下是我期望的最终