用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控制,也不会造成太大的开销,自我感觉,是一个有用的方法!

时间: 2025-01-02 12:02:13

用CSS解决中英文混合字符串的截取省略问题的解决办法_经验交流的相关文章

php 中英文截取:css 解决中英文混合标题的截取问题

文章列表中,往往会遇到标题过长而截断的问题,一般用服务器端程序截断之,同时需要考虑中文和英文的字符宽度,一般两个英文计作一个中文宽度.但这些也可以在 css 中做,尤其是在 ie 中,还可以加上省略号.<div style="width:100px;border:1px solid red;overflow:hidden;text-overflow:ellipsis;">  <nobr>这是长的中文标题</nobr>  <nobr>eng

CSS技巧DIV为空时占据空间的解决办法_经验交流

此时在IE中到底是什么在影响着最终的显示,又是如何解析的呢? 可能的影响因素:字体大小(font-size),字体行高(line-height),高度(height),溢出(overflow) 我们对上面的代码逐一添加过滤属性(具体的过程有兴趣的朋友,可以私下里实验一下,"自己动手,丰衣足食"!) 在测试的过程中,你会发现IE6和IE7的解析也不尽相同,比如在给div设置了line-height:0; height:0; 的样式后,IE7中显示正常了,不再占据物理空间了,而IE6却依然

标准布局常见问题及解决办法_经验交流

CSS2.0盒模型层次平面示意图和3D示意图 3像素问题及解决办法 当使用float浮动容器后,在IE6下会产生3px的空隙,有意思的是右侧容器没设置高度时3px在右侧容器内部,当设定高度后又跑到容器的左侧了,所以对布局精度要求高的话,请参考例29.31的解决方法 上边容器浮动后,下边的容器跟着浮动,造成页面错乱 如以上例子中的footer必须要单独占一行,但当sidebar浮动后,content的高度小于sidebar的高度时,footer也跟着浮动到sidebar右侧了,造成页面错乱.解决办

10条影响CSS渲染速度的写法与使用建议第1/3页_经验交流

这篇文章主要写的提高网页在客户端浏览器的渲染速度的CSS部分,暂时总结了10条. 1.*{} #jb51 *{} 尽量避开 由于不同浏览器对HTML标签的解释有差异,所以最终的网页效果在不同的浏览器中可能是不一样的,为了消除这方面的风险,设计者通常会在CSS的一个始就把所有标签的默认属性全部去除,以达到所有签标属性值都统一的效果.所以就有了*通配符.*会遍历所有的标签: *{margin:0; padding:0} 如果这样写,页面中所有的标签的margin全是0:padding也是0: #jb

文章内容页广告浮于左上角的解决办法_经验交流

这个是整页代码,你可以看着改了,也可以保存成HTML文件,完了试试看就知道了,主要用的CSS+DIV 上面的东西移到模板中,下面的东西也是一样~完了就行了~ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://

大家看了就明白了css样式中类class与标识id选择符的区别小结_经验交流

你可以用类选择符class和标识选择符id来定义自己的选择符. 这样做的好处是,依赖于class或者id,你可以不同地表现相同的HTML元素. 在CSS中,类选择符在一个半角英文句点(.)之前,而id则在半角英文井号(#)之前. 看起来像这样: #top { background-color: #ccc; padding: 1em } .intro { color: red; font-weight: bold; }  HTML与CSS的连接用属性id和class.像这样: <div id=&quo

CSS可以做的几个令你叹为观止的实例分享_经验交流

在我写"你未必知道的JavaScript和CSS交互的5种方法"一文时,人们对于JavaScript和CSS是如何重叠的感到惊讶.今天,我将重点强调你能用CSS完成的7种工作--不需要通过JavaScript或图片. CSS@supports 在使用一些浏览器可能没有的特性时,每一个优秀的前端开发者都需要进行特性测试.特性测试一直以来都是由JavaScript来做的,许多人使用Modernizr,一个由许多测试良好的案例构成的优秀实用工具,来做特性测试.一个新API:@supports

用纯CSS+DIV写的漂亮Flash幻灯片及SQL标签教程!_经验交流

用纯CSS+DIV写的漂亮Flash幻灯片及SQL标签教程! 下面代码有点多!但做出来你肯定喜欢! 用纯CSS+DIV写的漂亮Flash幻灯片及SQL标签教程!我不想废话了,开门见山吧. 先看演示 :http://www.gz7y.com   点精彩推荐即可看见! 如果下面代码你看不懂或者做不出来,明天等待我的视频吧. CSS如下: <STYLE type=text/css> <!-- #f_div{width:230px; height:205px; margin:0 auto; ov

div+css在思路和流程上实现结构与表现的分离分析_经验交流

古老的话题:一首古诗的分离 1.给你一首古诗,保存为毫无格式的一堆文字,你去理解它的内容,进行结构的处理.用word排版之后,他有了结构 2.这个结构其实包含了语义和表现 3.用html进行结构化,抛开一切的表现形式,只考虑语义 4.用CSS进行表现处理,包括html的默认表现,他拥有了视觉表现,这个表现体现出了结构化,也体现出了用户体验,用户体验中包含了交互的排版和视觉体验 5.如果加上行为,比如点击注释序号,缓缓跳转到注释内容. 再看看css禅意花园 同样是上面的5个步骤,形成第一版本的cs