css 解决方案-单行省略号

本文介绍如何使用CSS实现单行文字溢出时显示省略号的效果,并提供了兼容不同浏览器的代码示例及演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心css代码
firefox从7.0开始兼容text-overflow:ellipsis;这样的话,以后单行的省略号就可以不借助后台程序或者js来做到浏览器兼容了,其核心代码为:
selector{
    -o-text-overflow: ellipsis;  /*兼容opera*/
    text-overflow: ellipsis;     /*这就是省略号喽*/          
    overflow: hidden;            /*设置超过的隐藏*/
    white-space: nowrap;         /*设置不折行*/
    width:200px;                 /*设置宽度*/
}

demo 1


HTML code
<pre name="code" class="html"><span style="font-size:14px;"><ul id="demo1">
   <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
   <li>Aliquam tincidunt mauris eu risus.</li>
   <li>Vestibulum auctor dapibus.</li>
</ul></span>

CSS code
#demo1 li{
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;          
    overflow: hidden;
    white-space: nowrap;
    width:250px;
    margin-left:12px;
    list-style:disc inside none;    
}

注:因为设置了li的overflow为hidden,所以如果要设置其list-style,则需要设置为inside,而不是outside,不然将会看不见你设置的list-style效果    


demo 2

HTML code
<ul id="demo2" class="nostyle clearfix">
   <li><a href="#"><img src="http://placehold.it/100/e3e3e3/00c5e3&text=demo" alt="img1"><strong>单行省略号纯css解决方案</strong></a></li>
   <li><a href="#"><img src="http://placehold.it/100/e3e3e3/00c5e3&text=demo" alt="img2"><strong>ie6 png解决方案</strong></a></li>
   <li><a href="#"><img src="http://placehold.it/100/e3e3e3/00c5e3&text=demo" alt="img3"><strong>图文混排解决方案</strong></a></li>
</ul>

CSS code
#demo2 li{
    width:104px;
    float:left;
    margin-right:20px;
    display:inline;
}
#demo2 img{
    padding:2px;
    border:1px solid #ccc;
}
#demo2 strong{
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;          
    overflow: hidden;
    white-space: nowrap;
    width:104px;
    display:block;
}

注:请注意不要在行内元素里面使用块级元素,如这个demo我们使用strong作为标题的标签而不是h或者p,css代码部分没有贴出nostyle和clearfix的class代码,请使用firebug查看



                
### CSS实现文本超出两行时显示省略号的效果 要实现文本超出两行时自动显示省略号的效果,可以利用CSS中的`display: -webkit-box;`、`-webkit-line-clamp`以及其他相关属性。以下是具体的实现方法: #### 核心CSS代码 ```css .ellipsis-multiline { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; /* 控制最大显示行数 */ overflow: hidden; text-overflow: ellipsis; } ``` 上述代码通过以下方式实现了多行文本溢出的省略号效果: - `display: -webkit-box;` 将容器内的内容转换为弹性盒子模型[^4]。 - `-webkit-box-orient: vertical;` 定义子元素沿垂直方向堆叠。 - `-webkit-line-clamp: 2;` 设置最多只允许显示两行文字,多余的内容会被截断并替换为省略号。 #### HTML结构示例 ```html <div class="ellipsis-multiline"> 这是一个非常长的文本段落,用于演示如何在CSS中实现文本超出两行时显示省略号的效果。这段文本应该能够被正确截断,并在最后一行显示省略号。 </div> ``` 需要注意的是,该方案主要依赖于WebKit浏览器引擎的支持(如Chrome、Safari),因此可能不适用于所有浏览器环境[^5]。 --- ### 注意事项 1. **兼容性问题** 上述方法基于Webkit前缀属性,在某些非WebKit内核的浏览器上可能会存在兼容性问题。开发者应测试目标用户的主流浏览器版本以确认其适用范围。 2. **其他解决方案** 如果需要更广泛的跨浏览器支持,则需考虑JavaScript或其他技术手段作为补充。然而这会增加复杂度和性能开销。 3. **单行省略号对比** 对比之下,单行文本溢出处理相对简单得多,仅需配置如下样式即可完成: ```css .single-line-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值