CSS:用overflow代替left截取指定长度字符串
互联网 发布时间:2008-10-17 19:26:35 作者:佚名 我要评论
为了防止文章标题过长超过容器(td,div)宽度而显示成多行,我们通常要对标题进行处理让其显示在一行,通常使用的方法有两种:一种方法是在客户端用CSS设置容器的overflow属性;另一种方法则是在服务器端用left函数对标题字符串进行截取。两种方法通常情况下都能达到我们的目
为了防止文章标题过长超过容器(td,div)宽度而显示成多行,我们通常要对标题进行处理让其显示在一行,通常使用的方法有两种:一种方法是在客户端用CSS设置容器的overflow属性;另一种方法则是在服务器端用left函数对标题字符串进行截取。两种方法通常情况下都能达到我们的目的:
div{
width:200px;
overflow:hidden;
}
今天我们来比较一下它们的优缺点:
1.处理地点不同
一个位于客户端,一个位于服务器端。能在客户端的处理的尽量不要在服务器端处理,减轻服务器负担,这一原则大家都知道了。
2.处理对象的不同
CSS是对容器属性进行设置,left是对标题字符串进行处理,哪个更合理?回答这一问题前我们先问下:为什么要对标题长度进行处理?为的就是"让标题长度不超过容器长度"即可!CSS是对容器属性进行设置,当标题长度超出容器长度时就进行处理;而left的做法是对每个标题进行处理,将标题的长度都控制在我们测试得出的长度n范围内[left(title,n)],有一刀切的嫌疑。可见前者更具合理性。
3.对html处理的简易性
这一点是最能说服我用CSS的理由。有时由于某些原因,我们会在一些标题中加入了html代码,如:轻轻松松在页面中插入单选按钮/复选框,我们想要的结果应当是让标题不显示为两行,但还要保证仍为红色!这点left做不到,要达到效果我们先得把html去除,然后对余下的字符串进行截取,再添加html,非常的麻烦;而css完全不理会html,真正做到"只对字符串进行处理",非常方便,如:
div{
width:200px;
overflow:hidden;
}
采用left不仅达不到效果,有时还会导致页面显示出错!相比之下,用哪一个大家心里有数。
相关文章
当块元素想呈现该元素内部内容不换行或者超过该元素的部分隐藏起来2010-03-05
内容超出后自动隐藏并加省略标记(...)引号的Css text-overflow:ellipsis; o...2011-07-27
css overflow与text-indent:-999em 字体隐藏,需要的朋友可以参考下。2010-03-18
overflow有问题吗?没问题。那为什么说要慎用呢?因为有时会导致一些问题。。。
关于overflow:auto的,很多人贪他书写方便,直接用来清除浮动。但是Firefox使用overflow:au2008-10-17
css溢出隐藏一般用于当内容太大以至于无法适应指定的区域时,通过设置css下的overflow属性来隐藏其内容2013-03-07
这个方法不单使用简单,而且FF、OP、IE7都支持,从此可以告别那又长兼容性又差的FF清浮动的方法了。
方法真的很简单,只要为需要清浮动的标签加上overflow这个属性。2008-10-17
网页制作Webjx文章简介:文字隐藏应用广泛,但常用的方法没有什么亲和力。
文字隐藏应用广泛,但常用的方法没有什么亲和力。
常用文字隐藏方法的缺陷:2009-04-02
大家对CSS属性中overflow:hidden并不陌生,至于它的应用,在下文中列出我在项目中,运用到此属性的例子,感兴趣的朋友可以参考下哈,希望对大家有所帮助2013-07-04
在父标签中使用了overflow:hidden;时,如果子标签中有元素的position设置成relative的时候,在IE6和IE7中父元素的overflow对其将不起作用,其实将父标签的position也设置成2013-09-04
CSS中"overflow:scroll"默认是左右,上下都滚动。怎么设置只上下滚动而不左右滚动,下面有个不错的解决方法,感兴趣的朋友可以参考下2013-10-12
最新评论