CSS控制文字超出部分显示省略号方法

测试浏览器: IE6/7/8/9、opera12.02、firefox15.0.1、chrome

 代码如下 复制代码

<p style="width:200px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">省略我吧 省略我吧! 省略我吧!省略我! </p>

如果我们要给p标签定义text-overflow:ellipsis就可以这么写:

 代码如下 复制代码

p {
      white-space: nowrap;
      width: 100%;                  /* IE6 需要定义宽度 */
      overflow: hidden;            

      -o-text-overflow: ellipsis;    /* Opera */
      text-overflow:    ellipsis;    /* IE, Safari (WebKit) */
   }

现在解释一下为什么要这样做:

1、text-overflow: ellipsis; 
这里的重点样式是  text-overflow: ellipsis; 

      不过话说text-ellipsis是一个特殊的样式,有关解释是这样的:text-overflow属性仅是注解,当文本溢出时是否显示省略标记。并不具备其它的样式属性定义。要实现溢出时产生省略号的效果还须定义:强制文本在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),只有这样才能实现溢出文本显示省略号的效果。   简单理解就是我要把文本限制在一行(white-space: nowrap;),肯定这一行是有限制的(width),并且你的溢出的部分要隐藏起来(overflow: hidden;),然后出现省略号( text-overflow: ellipsis)。

2、white-space
顺便解释一下white-space的用法

       white-space属性声明建立布局过程中如何处理元素中空白符。(废话一句,这里的空白符应该指我们用键盘敲入的空格或回车,因为用 或<br>无论white-space设置什么都会有空格或回车。)  

完全实例

 代码如下 复制代码

<!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=utf-8" />
<title>省略号 test</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
body{
padding:10px;
font-family:Arial;
}
#test {
position:relative;
width:150px;
height:20px;
line-height:20px;
text-overflow:ellipsis;
white-space:normal;
*white-space:nowrap;
overflow:hidden;
border:1px solid #999;
}
#test span{
position:absolute;
top:0;
right:0;
display:block;
float:left;
}
#test span:after{content:"...";}
</style>
</head>
<body>
<div id="test">小虾奋斗起来吧,加油加油加油加油加油加油<span></span></div>
</body>
</html>

时间: 2024-10-04 19:13:35

CSS控制文字超出部分显示省略号方法的相关文章

css实现文字过长显示省略号的方法

 因为网页排版的需要,有些地方需要过长的问题加上省略号.比如:标题限制20个中文的宽度,超出的就用省略号代替.之前会使用程序截取的方法,不过使用css来截取更有利于SEO. 下面就介绍一下具体的使用方法: <div class="title">当对象内文本溢出时显示省略标记</div> 这是一个例子,其实我们只需要显示如下长度: css实现网页中文字过长截取... title class应该这样写: .title{ width:300px; white-spac

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例_javascript技巧

题目中问题一拆为二: 1.文字在超出长度时,如何实现用省略号代替? 2.超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息? 文字在超出长度时,如何实现用省略号代替? 用CSS实现超长字段用省略号表示的方法:所有浏览器兼容! html代码如下: <div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis"> 用CSS实现超长字段被省略的简单方法

css-纯CSS控制超出部分显示省略号

问题描述 纯CSS控制超出部分显示省略号 RT: 内容只有一行的时候可以控制,但是多行内容就没法了.怎么实现呢?求大神给点思路,实在没有C币,还望谅解. 解决方案 .title { overflow: hidden; font-size: 1.4rem; color: #000; display: -webkit-box; -webkit-line-clamp: 1; //控制行数 -webkit-box-orient: vertical; line-height: 1.8rem; height

jQuery实现控制文字内容溢出用省略号(…)表示的方法_jquery

本文实例讲述了jQuery实现控制文字内容溢出用省略号(-)表示的方法.分享给大家供大家参考,具体如下: jQuery限制字符字数的方法 $(function(){ //限制字符个数 $(".text").each(function(){ var maxwidth=23; if($(this).text().length>maxwidth){ $(this).text($(this).text().substring(0,maxwidth)); $(this).html($(th

CSS控制文字溢出时的自动隐藏方法

 代码如下 复制代码 <!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=&qu

如何设置列表(li)超出部分显示省略号?

显示 我们常常希望列表中的内容,超过设置的长度的时候,不要撑开父元素,也不希望它直接换行:我们更愿意让其超过部分用省略号来代替.而在title标签中,置放的是完整的标题. 这样的方法新手们常常不知道该如何搞定.下面就是方法的演示.不过请注意此方法适用与IE与OP浏览器! 设置li超出部分显示省略号的方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml

HTML超出文本显示省略号...通过text-overflow实现

HTML超出文本显示省略号在一些新闻列表中还是比较常见的一种做法,其实很简单通过text-overflow便可实现,有需要的朋友可以参考下本文   需要对div或者span同时应用Css: 复制代码 代码如下: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 即可实现所想要得到的溢出文本显示省略号效果. 当然了你的页面元素要设置固定的宽度,超出了宽度才会显示.         注:更多精彩教程请关注三联网页设计教程 栏目,

CSS控制文字的显示与隐藏引出的BUG

css|控制|显示 这一段CSS代码相当简单,目的就是想用CSS来控制某段文字的显示与隐藏.起初我采用了下面的代码,令人不可思议的是,它们在我的IE6.0上居然没有任何反应,大家不信可以亲自试验一下. <style type="text/css">a {font-size:12px;text-decoration:none;height:50;}a:hover {text-decoration:none;}a span {font-size:12px;display:non

用css控制标题字符溢出,用省略号表示

 css控制文章列表,让标题溢出的文字以省略号方式表现. <div style="width:300px; height:22px;line-height:22px; white-space: nowrap;text-overflow:ellipsis; overflow:hidden;">测试一下效果看能不能达到只逼供逼供逼供逼供珍贵逼供蚶见多识广薯在时工楞革革工进而杳碴国圆顶 </div> 用上面这段代码就可以实现,但如果要实现效果就得结合多个css的定义才