您的位置:首页 > 其它

真正做到兼容各大主流浏览器的text-overflow(文本溢出)解决方案

2011-03-15 10:43 579 查看
先解决问题:
text-ovewflow终极解决方案:

FireFox的文本溢出采用jquery插件解决,其他浏览器还是采用text-overflow来解决:http://www.bramstein.com/projects/text-overflow/ Query Text Overflow plugin
调用代码如下:
<script type="text/javascript">
$(function() {
$('.snip li').textOverflow();/*ff调用*/
});
</script>

/*------------------------------------------------------------*/

<style>
.snip li {
width: 500px;/*ToDo:根据实际需要修改*/
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;/*opera浏览器hack*/
table-layout:fixed;/*<tr><td>要支持text-overflow 的话,要加上这段代码*/
}/*ie调用*/
</style>

另:网络上流传着许多关于如何解决文本溢出标签text-ovewflow的兼容方案,经过我的测试,实用性都不是很好,其中总结的最好的一篇文章是这篇:
http://www.zhangxinxu.com/wordpress/?p=230#zxx_f关于文字内容溢出用点点点(…)省略号表示 (张鑫旭)

但文章也存在以下问题:
1、关于第二条:使用ellipsis.xml文件使Firefox支持文字溢出后点点点省略号表示。问题:不知道是不是以前好使,至少我今天(2011.3.15)用ff3.0测试是不好使的。
2、关于第三条:我对网上些文章和网站的不满。我和这位作者同样的感触:愤慨。没错,用:after伪类的方法的确是蠢到家了!
3、关于第四条:我自己想出来的方法——margin负值定位法。我没试验这种方式,即使这种方式是好使,本人认为也是不可取的,因为人为的在html页面增加了一层嵌套关系不说,还多了一个div(不对,文本溢出一般是用于标题的循环溢出处理,那这个就不是一个div这么简单了)
4、关于第五和第六条Jquery方案。我是js初学,也看不懂作者的代码(你可以尽情的鄙视我O(∩_∩)O!)但我应用作者的代码出现如下问题:如果控制溢出的元素中含有除文字外的其他元素(例如img)的时候,代码将会隐藏除文本外的其他元素;如果溢出文本和图像并排,文字则会依次下沉一行。
FF下文本溢出的text-overflow最新解决方案.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: