css两行超出省略号


CSS两行超出省略号

在网页设计中,当文本内容较多而容器空间有限时,我们常常需要对超出部分进行省略处理。对于单行文本的省略,CSS提供了text-overflow: ellipsis;属性来实现。但如果是多行文本(如两行)超出时需要省略,则需要一些额外的技巧。如何通过CSS实现两行文本超出时自动添加省略号的解决方案。

基本思路

实现两行超出省略号的核心在于使用display: -webkit-box;-webkit-line-clamp-webkit-box-orient等属性。这些属性主要适用于WebKit内核浏览器(如Chrome和Safari),但在现代浏览器中也得到了广泛支持。

具体代码实现

以下是详细的CSS代码实现:

html
</p>



    
    
    <title>CSS两行超出省略号</title>
    
        .two-line-ellipsis {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2; /* 控制显示的行数 */
            overflow: hidden;
            text-overflow: ellipsis;
            font-size: 16px;
            line-height: 1.5; /* 根据实际需求调整 */
        }
    


    <div class="two-line-ellipsis" style="width: 200px">
        这是一段很长的文本,用于演示两行超出省略号的效果。如果文本超出了两行的限制,就会自动添加省略号。
    </div>



<p>

代码解析:

  1. display: -webkit-box;:将元素设置为弹性盒子模型。
  2. -webkit-box-orient: vertical;:定义子元素在垂直方向上排列。
  3. -webkit-line-clamp: 2;:限制在一个块元素显示的文本的行数为2。
  4. overflow: hidden;:隐藏超出部分的内容。
  5. text-overflow: ellipsis;:为溢出的内容添加省略号。

其他实现方式

除了上述方法外,还可以通过JavaScript动态计算文本高度并截断内容,或者使用CSS的clip-path属性进行裁剪。但这些方法相对复杂且兼容性较差,因此不推荐作为方案。

方法二:使用伪类与背景渐变

另一种较为简单的实现方式是利用伪类和背景渐变来模拟省略效果:

css
.two-line-fake-ellipsis {
    position: relative;
    width: 200px;
    height: 48px; /* 根据字体大小和行高计算 */
    overflow: hidden;
}</p>

<p>.two-line-fake-ellipsis::after {
    content: "...";
    position: absolute;
    bottom: 0;
    right: 0;
    background: white; /* 背景色需与容器背景一致 */
    padding-left: 4px;
}

这种方法虽然不能严格控制文本行数,但在某些场景下也能达到不错的效果。

通过合理的CSS属性组合可以轻松实现两行文本超出时自动添加省略号的功能,既美观又实用。

Image

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载