PHP無法做到的截字整齊,使用CSS截字方式完美實現之

來源:互聯網
上載者:User

呼呼,還沒有寫好,先,這是之前用PHP截字方式實現的不完美效果,這也是情有可原的啦,因為PHP只能按照字數來截字,而文字包括了標點符號、中文、英文、數字等等不可預見的種種,因此,截出來的效果當然是參差不齊的(先為自己開脫一下哈)

後面打算徹底摒棄這種不合潮流的做法,來個終極截字,哼!

抱歉,抱歉,昨晚搞到太晚,把這文章寫成太監了!!

我有罪!我有罪!!!

繼續繼續哈。。

HTML代碼是這樣的

Code
 1<ul class="news_list">
 2            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 3            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 4            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 5            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 6            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 7            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 8            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
 9            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
10            <li><span>[2008-8-26]</span><a href="#" title="XXXXXXX學院啟動“基礎教育調研計劃">XXXXXXX學院啟動“基礎教育調研計</a></li>
11</ul>

原來的想法是將span右浮動,然後連結到內容由背景程式截字解決,這樣產生的後果是嚴重的參差不齊!!!

現在要求在不改動原html代碼的情況下,使用CSS截字來較為完美的解決這個有些吹毛求疵的問題。

因為這個日期需要靠右對齊,而a需要用來截字,不能使用li,因為它的右側還要留出一個日期的空間,所以,這裡我打算將<span>使用絕對位置的right:0來解決,而a定義為display:block,否則截字用到的overflow:hidden將不能起作用了,好了,原理大概就這麼點兒,我們來看看這段CSS代碼

 

Code
ul,dl,li,dt,dd{
list-style:none;
padding:0;
margin:0;
}
.news_list{
}
.news_list span{
position:absolute;
right:0;
white-space:nowrap;
top:-1px;
}
.news_list li{
background:url(../images/dot.gif) no-repeat 3px 9px;//這個dot.gif就是前面的那個點,我不知道還有沒有更好的辦法
padding-left:10px;
position:relative;//配合作為span的絕對位置的父容器
height:24px;
line-height:24px;
}
.news_list a{
display:block;
overflow:hidden;
white-space:nowrap;
word-break:keep-all;
text-overflow:ellipsis;
}

 

嗯,代碼大約的確就這麼些了,不支援ff(就是沒有後面的省略符號),這個案子只要求通過IE6、7,由於是實際項目,就不獻醜了。

OK,太監變身韋小寶了~哈!!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.