用CSS解决中英文混合字符串的截取省略问题的解决办法

    作为一个程序员,经常需要面对的一个问题就是在新闻等信息的标题列表中,常常为了适应表格的宽度,需要对过长的标题文字的进行截取并在截取后的文字末端加上省略号。
  众所周知,有很多方法可以实现这个功能,JavaScript,ASP,PHP都有各自的实现方法,但是面临的问题有很多,比如中英文混杂时或在某些编码下,容易造成截取出现乱码的问题,虽然大多数问题已经有比较成熟的解决方案,但在数据量比较大时,使用JavaScript,ASP,PHP实现这一功能,无疑会给客户端或服务器端造成比较大的资源开销。
  随着W3C的渐渐普及,许多网站都在进行着将传统表格转化为DIV+CSS的布局方式,我在研究CSS与DIV的一些特性时,发现了一个比较有趣的CSS,经过一系列的研究和实验以后,发现了一个使用DIV+CSS实现这一功能的另类方法,此方法在我所能测试均无问题,并且良好的兼容于各种编码及中英文混排的情况。
在Div中的方法:

<DIV STYLE="width: 200px;  border: 1px dashed red; overflow: hidden; text-overflow:ellipsis"> 
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
<NOBR>就a是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
<NOBR>就1是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
<NOBR>就F是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
<NOBR>就是 Like You Pig Very Very Very Much.</NOBR> 
</DIV>
在Table中的方法:

<TABLE style="table-layout:fixed;border-collapse:collapse;font-size:12px;" border="1" width="200" bordercolor=#666666>
<TR>
<TD nowrap style="overflow:hidden;text-overflow:ellipsis;">内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容</TD>
</TR>
</TABLE>

 

  代码很简单,基本上应该很容易就可以看明白,主要在于“text-overflow”这个属性,此属性有2个值,分别是“ellipsis”和“clip”,简单的理解,第一个值会在截取之后在文字末端加上省略号,第二个值则不会。
  这个方法目前我还没有发现任何bug,CSS控制,也不会造成太大的开销,自我感觉,是一个有用的方法!


该文章转载自脚本之家:http://www.jb51.net/html/200702/78/7269.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于js中英文混合字符串换行,可以使用CSS属性`word-wrap: break-word;`来实现。具体来说,在HTML中,可以使用`<div>`标签来包裹需要换行的文本,并为其设置一个固定的宽度,然后在CSS中将`word-wrap`属性设置为`break-word`即可。 示例代码如下: HTML: ``` <div class="text">这是一个英文单词word和一个中文句子,当宽度不够时,会自动换行。</div> ``` CSS: ``` .text { width: 200px; word-wrap: break-word; } ``` 以上代码将英文单词和中文句子组合在一起,当宽度不足时,自动进行换行。 ### 回答2: 在JavaScript中,我们可以使用转义字符`\n`来实现换行的效果。无论是英文还是中文字符,都可以使用这个转义字符来实现字符串的换行。 例如,我们可以使用如下的语句来实现英文字符串的换行: ``` var message = "Hello \nWorld!"; console.log(message); ``` 输出结果为: ``` Hello World! ``` 同样,我们也可以使用`\n`来实现中文字符串的换行: ``` var message = "你好 \n世界!"; console.log(message); ``` 输出结果为: ``` 你好 世界! ``` 需要注意的是,在使用`\n`进行换行时,要注意在字符串中使用双引号或单引号包裹起来,具体使用哪种引号取决于字符串的内容。另外,`\n`可以在任意位置进行使用,以实现需要换行的效果。 ### 回答3: 在JavaScript中,要在英文和中文混合字符串中实现换行,可以使用特殊的字符序列"\n"来代表换行。这是一个转义字符,它的出现会被解释为换行符。 例如,我们可以创建一个包含英文和中文混合字符串,并在其中适当的位置插入"\n"来实现换行。示例代码如下: ```js var str = "这是一个包含\n英文和中文混合字符串"; console.log(str); ``` 在这个例子中,当我们运行以上代码时,控制台会打印出以下内容: ``` 这是一个包含 英文和中文混合字符串 ``` 我们可以看到,字符串中的"\n"被解释为换行符,从而使得字符串在打印时换行显示。 此外,还可以使用模板字符串(Template String)的方式来创建包含换行的字符串。模板字符串使用反引号(`)作为定界符,可以在其中使用换行符。 ```js var str = `这是一个包含 英文和中文混合字符串`; console.log(str); ``` 运行以上代码会得到相同的结果。我们可以看到,使用模板字符串的方式更加直观和易读,适合于包含换行的字符串的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值