当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 兼容IE和FF的单行溢出文本显示省略号

CSS样式表
css 块状元素和内联元素
CSS 盒模型、块状元素与内联元素、CSS选择器
css 浮动 理解Float的含义
CSS 清除浮动Clear
CSS 制作网页导航条(上)
CSS 制作网页导航条(下)
css 浮动(float)页面布局
css 浮动(float)页面布局(下)
css position 定位
css 定位应用实例
CSS Hack 有关浏览器兼容方面
css 单图片按钮实例(css 图片变换)
使用X-UA-Compatible来设置IE浏览器兼容模式
div overflow 超出隐藏属性使用说明
CSS 使用规则总结
div+CSS 兼容小摘
CSS的inherit与auto使用分析
如何组织和注释CSS文件
CSS样式按整洁易懂的结构组织
CSS Prism 查看和编辑CSS中用到的颜色

CSS样式表 中的 兼容IE和FF的单行溢出文本显示省略号


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 225 ::
收藏到网摘: n/a


  单行文本的控制,以前是由程序员完成的,实现截字效果。
  今天介绍的方法兼容IE FF,看下面的详细介绍:
  为了更符合实际,用一个div装起要调试的内容,并为这个div定义一个宽度。
  例如:
css代码:
div{width:200px;}
html代码:
<div>
<span>软晨学习网-中国网页设计,网页制作第一站 - www.ruanchen.com</span>
</div>
  在IE中实现是非常简单的,CSS 如下:
span {
display:block;
width:200px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
  但在FF中用上面的样式是实现不了的,因为text-overflow: ellipsis;是IE中特有的(非CSS标准)。现在在FF下看到的仅仅只是把溢出的内容切除了,说到"溢出切除",这下说到点子上了,在FF中实现就要用到非常规的方法,一个标签作切除内容,再加一个标签作填补省略号用,并且加起来的长度就能超过容器的宽度,本例指的就是DIV的宽度200px,实现的想法就是这样。那么继续进一试验,关于切除内容,这个已经基本上解决了,那就来说补省略号,不用JS,用CSS实现的话就要用到伪对象after,伪对象不懂的就要先去温故或百度一下。先从HTML下手,为span标签外再加一层p标签(当然你也可以加其它标签的)
html代码:
<div>
<p><span>软晨学习网-中国网页设计,网页制作第一站 - www.ruanchen.com</span><p>
</div>
  我们再为这个P标签加样式。
CSS:
p:after{
content:"...";
}
  这样还不行,因为省略号是有宽度的,这样省略号就跳到一下行了,下面要做的就是让span 加省略号的宽度不大于容器宽度(准确的说是相等),并且让省略号紧跟内容的内容,下就是解决上面这些问题的CSS样式:
p{clear:both;}
p span{float:left;
max-width:175px;
}
p:after{
content:"...";
}
  这里还要补充的一点是关于p span 的宽度用了"max-width"这个属性,IE不能解释该属性,而FF可以,这样就避开了IE对SPAN宽度的重新应用。上面说得有乱,归纳如下:
html代码:
<div>
<p><span>软晨学习网-中国网页设计,网页制作第一站 - www.ruanchen.com</span><p>
</div>
css代码:
div{
width:200px;/*容器的基本定义*/
height:200px;
background-color:#eee;
}
/* IE下的样式 */
p span{
display: block;
width:200px;/*对宽度的定义,根据情况修改*/
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}/* FF 下的样式 */
p{clear:both;}
p span{float:left;
max-width:175px;
}
p:after{
content:"...";
}