用CSS解決中英文混合字符串的截取省略問題的解決辦法
更新時間:2007年02月27日 00:00:00 作者:
作為一個程序員,經(jīng)常需要面對的一個問題就是在新聞等信息的標題列表中,常常為了適應(yīng)表格的寬度,需要對過長的標題文字的進行截取并在截取后的文字末端加上省略號。
眾所周知,有很多方法可以實現(xiàn)這個功能,JavaScript,ASP,PHP都有各自的實現(xiàn)方法,但是面臨的問題有很多,比如中英文混雜時或在某些編碼下,容易造成截取出現(xiàn)亂碼的問題,雖然大多數(shù)問題已經(jīng)有比較成熟的解決方案,但在數(shù)據(jù)量比較大時,使用JavaScript,ASP,PHP實現(xiàn)這一功能,無疑會給客戶端或服務(wù)器端造成比較大的資源開銷。
隨著W3C的漸漸普及,許多網(wǎng)站都在進行著將傳統(tǒng)表格轉(zhuǎn)化為DIV+CSS的布局方式,我在研究CSS與DIV的一些特性時,發(fā)現(xiàn)了一個比較有趣的CSS,經(jīng)過一系列的研究和實驗以后,發(fā)現(xiàn)了一個使用DIV+CSS實現(xiàn)這一功能的另類方法,此方法在我所能測試均無問題,并且良好的兼容于各種編碼及中英文混排的情況。
眾所周知,有很多方法可以實現(xiàn)這個功能,JavaScript,ASP,PHP都有各自的實現(xiàn)方法,但是面臨的問題有很多,比如中英文混雜時或在某些編碼下,容易造成截取出現(xiàn)亂碼的問題,雖然大多數(shù)問題已經(jīng)有比較成熟的解決方案,但在數(shù)據(jù)量比較大時,使用JavaScript,ASP,PHP實現(xiàn)這一功能,無疑會給客戶端或服務(wù)器端造成比較大的資源開銷。
隨著W3C的漸漸普及,許多網(wǎng)站都在進行著將傳統(tǒng)表格轉(zhuǎn)化為DIV+CSS的布局方式,我在研究CSS與DIV的一些特性時,發(fā)現(xiàn)了一個比較有趣的CSS,經(jīng)過一系列的研究和實驗以后,發(fā)現(xiàn)了一個使用DIV+CSS實現(xiàn)這一功能的另類方法,此方法在我所能測試均無問題,并且良好的兼容于各種編碼及中英文混排的情況。
在Div中的方法:
<DIV STYLE="width: 200px; border: 1px dashed red; overflow: hidden; text-overflow:ellipsis">
<NOBR>就是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就a是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就1是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就F是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就是 Like You Pig Very Very Very Much.</NOBR>
</DIV>
<NOBR>就是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就a是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就1是比如有一行文字,很長,表格內(nèi)一行顯示不下.</NOBR>
<NOBR>就F是比如有一行文字,很長,表格內(nèi)一行顯示不下.</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;">內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</TD>
</TR>
</TABLE>
<TR>
<TD nowrap style="overflow:hidden;text-overflow:ellipsis;">內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</TD>
</TR>
</TABLE>
代碼很簡單,基本上應(yīng)該很容易就可以看明白,主要在于“text-overflow”這個屬性,此屬性有2個值,分別是“ellipsis”和“clip”,簡單的理解,第一個值會在截取之后在文字末端加上省略號,第二個值則不會。
這個方法目前我還沒有發(fā)現(xiàn)任何bug,CSS控制,也不會造成太大的開銷,自我感覺,是一個有用的方法!
相關(guān)文章
Internet Explorer 8 beta 中文版與IE7共存的解決方法
今天安裝了IE8,去微軟網(wǎng)站下載的時候發(fā)現(xiàn)已經(jīng)提供中文版的beta了,哈哈 發(fā)現(xiàn)IE8沒有傳說中的那么妖魔化,不錯的瀏覽器,新增功能不錯。2008-05-05HTTP與HTTPS超文本傳輸協(xié)議的區(qū)別是什么
隨著越來越多的網(wǎng)站使用HTTPS加密,現(xiàn)在HTTPS的使用已經(jīng)成了硬性要求了。雖然說https是http的安全版,但兩者還是有不少區(qū)別的。本文從https、http的概念和原理入手,講解他們的不同,讓讀者朋友能夠真正理解。2022-12-12