随笔-199  评论-203  文章-11  trackbacks-0
我们在浏览网页的时候,常常会看到某些网站的文章标题由于过长而只显示一部分,另一部分用省略号来表示,这是为了防止标题过长而导致页面排版不好 看。那么这个文章标题省略号是如何实现的呢?目前常见的方法是通过动态语言程序来控制,判断标题的长度,然后截取部分来显示,其余的用省略号显示,这样往 往在英文和中文的长度上难以判断。今天在网上看到可以用CSS来实现,效果还不错,拿来分享。

    CSS实现截断过长标题文字的原理非常简单,就是设置一个宽度,然后超过这个宽度值的内容就隐藏,并用省略号来显示。用到的就是text- overflow:ellipsis,在IE下显示是正确的,超出部分为省略号...,而在Firefox中超出部分却是裁切掉了,有的文字就显示一半, 很不好看,这是因为Firefox不支持text- overflow:ellipsis属性。为了让Firefox中也能显示省略号,所以要外加一个xml文件。下面直接给出兼容IE和Firefox的代 码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>使用CSS截断过长标题文字的方法-HTMer</title>
<style type="text/css">
<!--
.htmer
{
width
: 200px;
white-space
: nowrap;
overflow
: hidden;
text-overflow
:ellipsis;      /*兼容IE*/
-moz-binding
: url('ellipsis.xml#ellipsis');      /*兼容Firefox,调用ellipsis.xml文件,注意ellipsis.xml文件路径*/
}
-->
</style>
</head>
<body>
<div class="htmer">使用CSS截断过长标题文字的方法-HTMer</div>
</body>
</html>

ellipsis.xml文件源代码:

<?xml version="1.0"?>
<bindings
  
xmlns="http://www.mozilla.org/xbl"
  xmlns:xbl
="http://www.mozilla.org/xbl"
  xmlns:xul
="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<binding id="ellipsis">
    
<content>
        
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
    
</content>
</binding>
</bindings>
posted on 2011-01-17 11:13 Werther 阅读(2280) 评论(1)  编辑  收藏 所属分类: 11.JavaScript

评论:
# re: 使用CSS截断过长文字的方法 2016-03-08 12:21 | 12312312
测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试测试测试测试彩色测试  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: