text-overflow 全兼容 
text-overflow 这个CSS属性用于设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。比起在后台用程序截断文本再附上省略标记的做法,用CSS来处理文本溢出显然更温和(unobtrusive)一些。所以它已经被定义在 CSS 3 规范中,但目前为止,还只有 IE6+ 提供了对其的支持(据说 Safari 1.3+ 已经支持)。
幸好,Opera 和 Firefox 都有相应的hack方法。

Opera 提供了一个 -o-text-overflow:ellipsis 来模拟CSS3中的 text-overflow:ellipsis,郭爽的Blog里有一个demo。

而Firefox,有人贡献了一个Firefox独有的XBL技术实现 -- Simulating text-overflow on Firefox with unobtrusive Javascript, 博客的作者劝大家不要再花精力去寻找其他针对Firefox的解决办法了,因为他已经花费了大量的时间都无法找到一个满意的方案。从demo 源码中可以看到如下的CSS属性定义

text-overflow:ellipsis;
-moz-binding:url("moz-text-overflow.xml#XBLDocument");

从代码中看出,这个解决方案还需要一个 xml 格式的XBL组件定义文件以及配套的一个 js 文件,其实我想也可以通过直接编写js 来实现相同的效果,不过不如标题中所说的那么 unobtrusive 而已。

最后,一个兼容主流浏览器的 text-overflow CSS 定义可能如下:

.textOverflow {
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    -moz-binding: url("moz-text-overflow.xml#XBLDocument");/*配套对应的xml和js文件*/
}

text-overflow 全兼容的更多相关文章

  1. css3

    CSS3的换行 如果某个单词太长,不适合在一个区域内,它扩展到外面: 自动换行属性允许您强制文本换行 - 即使这意味着分裂它中间的一个字: 允许长文本换行: p {word-wrap:break-wo ...

  2. 文本编辑的css常用属性

    white-space:pre //保留空格,不然又多个空格值显示一个 white-space:nowrap //强制不换行,知道遇到</br> letter-spacing //字母间的 ...

  3. 带你玩转JavaWeb开发之三 - CSS从基础到实战

    一,什么是CSS? Cascading Style Sheets层叠样式表           层叠:就是层层覆盖叠加,如果有多种样式对同一html标签进行修饰,样式有冲突的部分应用优先级高,不冲突的 ...

  4. 关于STM8空间不足的解决方法

    STM8虽然功能齐全,但是空间不足也是经常出来的情况.要么.text overflow,要么.bss overflow,让人头疼.这里把一些优化方案列出来,让空间得到充分利用: 1.在Project ...

  5. DIV CSS布局容易忽略的属性

    white-space:pre //保留空格,不然又多个空格值显示一个 white-space:nowrap //强制不换行,知道遇到</br> letter-spacing //字母间的 ...

  6. 带搜索框的下拉框chosen.jQury.js

    下载所需js,css png资源     <link href="chosen.css" rel="stylesheet" type="text ...

  7. pure.css

    注释中address是纠正的意思  等价于correct/*! Pure v0.5.0 Copyright 2014 Yahoo! Inc. All rights reserved. Licensed ...

  8. 好看的Select下拉框是如何制造的

    现在在大多数网站中都能看到很华丽的Select下拉框,他们是如何实现的呢?使用默认select肯定是不好实现,我们可以使用div+js去模拟出来select的功能,并且又能很简单的去美化它. CSS代 ...

  9. 移动端 常见布局CSS3的细节

    结合 Framework7 和ios UI系统,微信weUI,支付宝H5    我们在移动端一些css用法 细节的有了更深的了解: 高斯模糊的显示效果,ios8以上支持,ios8以上0.5px,bac ...

  10. js实现省市区联动

    先来看看效果图吧,嘻嘻~~~~~~~~~~~~~~~~~~~· 代码在下面: 示例一: html: <!DOCTYPE html> <html> <head> &l ...

随机推荐

  1. MVC设计模式和三层架构

    JavaEE设计模式 1.传统设计模式(现在几乎不再使用): Jsp + javaBean, JavaBean用来对应数据库中的表,jsp负责显示界面.接受请求.处理业务.访问数据库. 弊端: 业务多 ...

  2. 啃OBS源码-界面汉字

    插件对应该字体目录:D:\project\vs\obs\obsstudio21.12\build\rundir\Debug\data\obs-plugins obs对应该字体目录:D:\project ...

  3. 使用lombok的@Builder的注解的一个坑

    一开发说项目报错 java.lang.Long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lan ...

  4. mariadb 10.2/mysql 8.0实现递归

    借助mysql 8.0的cte(它是iso sql标准的一部分),可以实现递归,mariadb 10.2.2开始支持递归cte,如下: +----+----------+--------------+ ...

  5. 自定义设置jqGrid的标头居中加粗等

    beforeRequest: function () { $("thead th").css("text-align", "center") ...

  6. centos安装redis 5.0版本的集群

    我在本地VM-Centos里安装5.0.5时安装遇到了些问题,参考了Blog:https://www.cnblogs.com/shawhe/p/9548620.html 顺利安装完成. 安装redis ...

  7. (八)Knockout 组件 Components

    概述 :组件和自定义元素 Components 是将UI代码组织成自包含的.可重用的块的一种强大而干净的方法.他们: -可以表示单个控件/窗口小部件或应用程序的整个部分 -包含它们自己的视图,并且通常 ...

  8. oracle系列九 SET运算符查询

    将多个查询用 SET 操作符连接组成一个新的查询 UNION/UNION ALL INTERSECT MINUS 排序:ORDER BY UNION 操作符 UNION 操作符返回两个查询的结果集的并 ...

  9. Python - Django - form 组件校验功能

    app01/models.py: from django.db import models class UserInfo(models.Model): username = models.CharFi ...

  10. 【VS开发】 Windows平台下管道的使用

    转载地址: 管道分类: 1. 匿名管道: 只能用于相关进程(如父子进程,兄弟进程),并在他们之间建立内存区域,进程终止后,匿名管道也就消失了. 通常用于:重定向子进程的标准输入输出,以便和父进程交换数 ...