css 显示省略号
2016-03-21 10:43
429 查看
<style> .sub{ width:280px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }</style>
<liclass="sub"><ahref="{formaturltype="article"siteurl=$siteurlname=$newsinfo->filename}"title="{$newsinfo->title}"target="_blank">{$newsinfo->title}</a></li>
//这样也行
测试浏览器:IE6/7/8/9、opera12.02、firefox15.0.1、chrome21.0.1180.89m
完整例子:http://www.ostools.net
现在解释一下为什么要这样做:
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)。
我在网上看到有很多人说opera不支持text-overflow,可能因为我用的是最新版本的,已经支持这个属性了,所以没办法测试,不过网上给支持低版本的opera一个办法,就是-o-text-overflow:ellipsis;至于火狐,也有很多人说不支持,版本问题无法考证,大家有试过的可以出来指证一下,这里有个《在火狐里怎样用CSS限制字数并以点的形式显示》,可以参考一下。
2、white-space
顺便解释一下white-space的用法
white-space属性声明建立布局过程中如何处理元素中空白符。(废话一句,这里的空白符应该指我们用键盘敲入的空格或回车,因为用或<br>无论white-space设置什么都会有空格或回车。)
下面是wschool上white-space可能的值:
normal默认。空白会被浏览器忽略。
pre
空白会被浏览器保留。其行为方式类似HTML中的<pre>标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到<br>标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承white-space属性的值。
<liclass="sub"><ahref="{formaturltype="article"siteurl=$siteurlname=$newsinfo->filename}"title="{$newsinfo->title}"target="_blank">{$newsinfo->title}</a></li>
//这样也行
< p style = "width:300px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis;" > |
02 | 省略我吧! |
03 | 省略我吧! |
04 | 省略我吧! |
05 | 省略我吧! |
06 | 省略我吧! |
07 | 省略我吧! |
08 | 省略我吧! |
09 | 省略我吧! |
10 | 省略我吧! |
11 | 省略我吧! |
12 | 省略我吧! |
13 | 省略我吧! |
14 | </ p > |
完整例子:
现在解释一下为什么要这样做:
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)。
我在网上看到有很多人说opera不支持text-overflow,可能因为我用的是最新版本的,已经支持这个属性了,所以没办法测试,不过网上给支持低版本的opera一个办法,就是-o-text-overflow:ellipsis;至于火狐,也有很多人说不支持,版本问题无法考证,大家有试过的可以出来指证一下,这里有个《
2、white-space
顺便解释一下white-space的用法
white-space属性声明建立布局过程中如何处理元素中空白符。(废话一句,这里的空白符应该指我们用键盘敲入的空格或回车,因为用或<br>无论white-space设置什么都会有空格或回车。)
下面是
normal默认。空白会被浏览器忽略。
pre
空白会被浏览器保留。其行为方式类似HTML中的<pre>标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到<br>标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承white-space属性的值。
相关文章推荐
- opacity: 0.5; css透明覆盖详解
- CSSOM视图模式(CSSOM View Module)相关整理
- Html+Css CSS3_transform属性中的_scale属性值
- CSS3动画几个平时没注意的属性
- css3 flex属性flex-grow、flex-shrink、flex-basis学习笔记
- CSS图片旋转
- CSS去掉 a 标签点击后出现的虚线框
- css class中加空格的效果
- 目前比较全的CSS重设(reset)方法总结(转)
- HTML+CSS布局
- 利用css2的content属性添加fontAwesome字体图标
- CSS学习(十九)-CSS伸缩布局盒
- CSS清除浮动_清除float浮动
- 深入理解CSS定位中的偏移
- CSS学习笔记_CSS选择器
- css 学习笔记二
- css中px和em的区别
- C#之WPF样式的使用
- css 学习笔记
- No.4小白的HTML+CSS心得篇