各地市:
济源SEO技术中更换IP后怎么做? 濮阳网站建设Linux服务器怎么配置SSH服务器? 开封域名注册的费用是多少? 济源网站优化SEO中快速排名有哪些应用场景? 安阳网站建设公司哪家专业可靠? 开封域名注册需要多少钱? 开封网站建设怎么定期Linux服务器备份数据? 平顶山响应式设计最新技术发展趋势分析? 洛阳SEO技术如何降低跳出率? 周口网站维护分为哪些类型? 三门峡网站建设Linux服务器怎么限制shell访问权限? 开封免费搭建网站的优势是什么? 濮阳电商网站需要注意什么事项? 济源网络安全有什么技巧? 周口网站建设Linux服务器通过哪些方式隐藏服务器? 洛阳免费搭建网站如何进行学习? 漯河定制化网站需要确认哪些功能? 商丘网站空间购买需要多长时间? 南阳域名注册需要多长时间? 洛阳网站建设导航设计有什么要求? 驻马店网页开发分为哪些类型? 信阳网站维护需要多少钱? 漯河网站优化中搜索引擎怎么操作? 焦作网络安全需要考虑什么因素? 许昌网站建设日常怎么检查服务器网络安全? 新乡seo中网站空间如何进行优化? 新乡免费搭建网站去哪儿找? 新乡网站设计去哪儿找? Linux服务器通过哪些方式发现未授权访问? 南阳网站建设Linux服务器怎么过滤流量? 南阳网站建设Linux服务器怎么记录未授权访问? 三门峡网站建设Linux服务器通过哪些方式拒绝服务攻击? 濮阳网站建设Linux服务器通过哪些方式限制流量? 安阳网站建设怎么处理服务器系统安全? 鹤壁网站建设404页面怎么开发?
您的位置: 主页 > 网站设计观点 > 用CSS就能完美解决文字溢出的处理办法

用CSS就能完美解决文字溢出的处理办法

发布时间:2023-08-04 04:52:34 | 发布者:往流科技

用CSS就能完美解决文字溢出的处理办法
经常会在项目中碰到文字溢出的情况,解决起来也比较麻烦,而最大的麻烦还是在浏览器的兼容问题上。至少到目前为止,我还没找到用CSS就能完美解决文字溢出的办法。前几天就再次碰到这个问题,之后一查,发现和迅雷的一个页面重构的面试题惊奇的相似,仔细一想,也没啥巧合不巧合的,只能说这种情况太常见了。
要求是这样的:一个新闻列表,新闻标题后紧跟着日期,新闻标题的宽度超过一定的宽度就要自动截断,但是日期必须显示完整。
花了点时间研究了下,最终的效果对于浏览器的兼容不是很理想,但我觉得也是很不错了。
查看演示
看到这个要求,基本上就知道HTML的结构该怎么写了,一个有序列表(ol+li):
<ol id="news-list">
<li><a href="#">毛毛猫系列漫画</a><span>2010-09-18</span></li>
<li><a href="#">一个网页设计需求方眼中的网页设计</a><span>2010-09-18</span></li>
<li><a href="#">如何应对骗稿的客户</a><span>2010-09-18</span></li>
<li><a href="#">平面设计师:一个涂有虚名的职业</a><span>2010-09-18</span></li>
<li><a href="#">站在十字路口的网站设计师</a><span>2010-09-18</span></li>
<li><a href="#">设计师请别把自己不当人。</a><span>2010-09-18</span></li>
<li><a href="#">什么样的包装才叫做有新意的包装呢?</a><span>2010-09-18</span></li>
<li><a href="#">寻隐活动寻找网页设计开发高手</a><span>2010-09-18</span></li>
<li><a href="#">求平面设计同行们的经验指引</a><span>2010-09-18</span></li>
</ol>
结构写好了,接下来写CSS样式部分了,在这里先重点介绍一个CSS属性:
text-overflow: ellipsis;
text-overflow就是定义文字溢出的时候,该如何截断文字,属性值是ellipsis的时候就是当对象内文本溢出的时候显示省略标记(…),该属性支持IE6以上的版本IE7/8/9和除Firefox以外的现代标准浏览器:Chrome、Safari。Opera是个特例,但也有一个专门针对Opera的属性:
-o-text-overflow: ellipsis;
好了,下面就是完整的CSS代码
view sourceprint?
<style type="text/css">
#news-list {
list-style:none;
width:156px;  /*注意这个宽度*/
}
#news-list:after {
content:'';
display:block;
clear:both;
height:0px;
}
#news-list li {
clear:both;  /*清除li中的浮动*/
}
#news-list li a {
float:left;  /*标题向左浮动*/
color:#333;
text-decoration:none;
font-size:13px;
max-width:156px;  /*给标准浏览器一个最大宽度*/
height:24px;
!important;  /*强制文字不换行(标准浏览器)*/
white-space:normal;  /*溢出的时候文字换行,并配合上面的固定高度,对文字进行裁切*/
overflow:hidden;
text-overflow:ellipsis;  /*截断文字,显示省略号(...)*/
-o-text-overflow:ellipsis;  /*Opera的专用截断文字的属性*/
background:none;  /*解决IE6的莫名高度BUG,试试在IE6下去掉这个属性*/
}
#news-list li a:hover {
color:#000;
text-decoration:underline;
}
#news-list li span {
float:left;  /*日期向左浮动*/
color:#666;
padding-left:10px;
margin-right:-99px;  /*让标题和日期显示在同一行*/
_position:relative;  /*针对IE6使用相对定位*/
}
</style>