用CSS解決中英文混合字串的截取省略問題的解決辦法

來源:互聯網
上載者:User

作為一個程式員,經常需要面對的一個問題就是在新聞等資訊的標題列表中,常常為了適應表格的寬度,需要對過長的標題文字的進行截取並在截取後的文字末端加上省略符號。

  眾所周知,有很多方法可以實現這個功能,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控制,也不會造成太大的開銷,自我感覺,是一個有用的方法!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.