如果它太大,请将省略号添加到HTML文本

Geo*_*llo 2 html javascript css

如果字符串太大,有没有办法在字符串中添加省略号(三个点)?

例如.

从:

This is a very large sentence.
Run Code Online (Sandbox Code Playgroud)

至:

This is a ve...
Run Code Online (Sandbox Code Playgroud)

它可以wordwrap在服务器端使用PHP来完成,但那时很难获得渲染的大小,那么在客户端使用JavaScript,HTML或CSS有更好的标准方法吗?

在这里,我已经包含了一张图片,以防万一你真的得不到我说的话.

例. ""

Anu*_*yal 12

理想的方法是使用css text-overflow属性:

p {
  white-space: nowrap;
  width: 100%;                
  overflow: hidden;  /* "overflow" value must be different from "visible" */                
  text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)


nul*_*ity 6

这是一个PHP函数,可以执行您想要的操作,其中10是要保留的字符数:

function truncateString($string) {
    if (strlen($string) > 10) {
        $string = substr($string, 0, 10) . "...";
    }
    return $string;
}

echo truncateString("Short"); // Returns "Short."
echo truncateString("Long string is long."); // Returns "Long strin..."
Run Code Online (Sandbox Code Playgroud)

这仅适用于使用PHP生成菜单项的情况.如果你想在客户端用Javascript和/或CSS做,你根本不会使用PHP.

  • Pedantry:对于任何直接输出到你希望省略号出现的HTML的人,我建议使用字符代码```…```,而不是```````这是3个句点,而不是椭圆.大多数字体甚至使它们略有不同:... vs ...但最重要的是它是一种可访问性改进. (3认同)