css文本溢出省略

css实现文本溢出显示省略号

在做响应式网页的时候,我们要想在不同尺寸的设备下保证布局不会错乱,就需要对文字的长度进行限定。

基础设置

在介绍下面的方法之前,我们先对所有的例子进行基础的样式设置

/*基础设置*/
div.box{
    width: 100px;
    height: 100px;
    border: 1px solid #ddd;
    color: #333;
    line-height: 1.8;
    margin:30px auto;
}

设置好啦,现在我们开始表演=.=

1.单行溢出隐藏显示…

<!--单行溢出隐藏显示...-->
<div class="box text-box1">
    <p>目录结构清晰是首要目标,至于命名只要能达到表意的目的即可。目录结构清晰</p>
</div>

/*1.单行溢出隐藏显示...(在文字的容器上设置)*/
.text-box1 p{
    white-space: nowrap;      /*超出的空白区域不换行*/
    overflow: hidden;         /*超出隐藏*/
    text-overflow: ellipsis;  /*文本超出显示省略号*/
}

我一定要把每一步都记得清清楚楚,因为我发现不写清楚为什么这样设置,过段时间真的会忘了。
运行效果:
这里写图片描述

2.多行溢出隐藏显示…

<!--多行溢出隐藏显示...(只兼容webkit内核的浏览器)-->
<div class="box text-box2">
    <p>目录结构清晰是首要目标,至于命名只要能达到表意的目的即可。目录结构清晰</p>
</div>

/*2.多行溢出隐藏显示...(在文字的容器上设置)  只兼容webkit内核的浏览器*/
.text-box2 p{
    display: -webkit-box;             /*将对象转为弹性盒模型展示*/
    -webkit-box-orient: vertical;     /*设置弹性盒模型子元素的排列方式*/
    -webkit-line-clamp: 2;            /*限制文本行数*/
    overflow: hidden;                 /*超出隐藏*/
}

运行效果:
这里写图片描述

3.多行溢出隐藏显示…

<!--多行溢出隐藏显示...(跨浏览器兼容+伪元素定位)-->
<div class="box text-box3">
    <p>目录结构清晰是首要目标,至于命名只要能达到表意的目的即可。目录结构</p>            
</div>

/*3.多行溢出隐藏显示...(跨浏览器兼容+伪元素定位)*/
.text-box3 p{
    position: relative;
    line-height: 1.4em;        /*行高和height成倍数,这里以三行文本超出隐藏举例*/
    height: 4.2em;
    overflow: hidden;
}
.text-box3 p::after{         /*若要兼容IE8需用:after*/
    content: "...";          /*替换内容比较灵活*/
    position: absolute;
    bottom: 2px;
    right:5px;
    padding: 0 3px;
    background:#fff;         /*颜色和文字背景保持一致*/
    box-shadow: 0 0 10px #fff;  /*边缘处理*/
}

这种方式比较灵活,但是实现的效果可能会比较生硬,所以需要对边缘进行虚化处理。
运行效果:
这里写图片描述
意思是这个意思,或许会有更合适的方法进行处理

<think>我们正在处理一个关于CSS文本溢出显示省略号的问题。用户要求一个示例,我们将根据用户提供的引用信息来构建答案。 引用[1]和[2]提供了关键信息:要实现单行文本溢出显示省略号,需要三个CSS属性: 1. white-space: nowrap; // 禁止换行 2. overflow: hidden; // 隐藏溢出内容 3. text-overflow: ellipsis; // 用省略号表示被截断的文本 引用[3]和[4]则提到了一些关于检测文本是否出现省略号的方法,但用户当前只需要一个示例,所以我们主要关注如何实现。 因此,我们将给出一个单行文本溢出显示省略号的示例,并解释代码。 另外,根据用户要求,我们还需要生成相关问题。 注意:用户要求回答结构清晰,逐步解决问题,并保证真实可靠。</think>### CSS文本溢出显示省略号示例 在CSS中实现文字溢出显示省略号效果,需要同时设置三个关键属性: ```css .ellipsis { white-space: nowrap; /* 禁止文本换行 */ overflow: hidden; /* 隐藏溢出内容 */ text-overflow: ellipsis; /* 显示省略符号 */ } ``` #### 实现原理: 1. **`white-space: nowrap;`** 确保文本保持单行显示,不会自动换行到下一行[^1][^2]。 2. **`overflow: hidden;`** 隐藏超出容器边界的文本内容[^1][^2]。 3. **`text-overflow: ellipsis;`** 在文本被截断处显示省略号(...)作为视觉提示[^1][^2]。 #### 完整示例: ```html <!DOCTYPE html> <html> <head> <style> .container { width: 200px; border: 1px solid #ccc; padding: 10px; } .ellipsis-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } </style> </head> <body> <div class="container"> <p class="ellipsis-text"> 这是一段非常长的文本内容,当它超出容器宽度时会自动显示省略号... </p> </div> </body> </html> ``` #### 注意事项: - 此方法**仅适用于单行文本**,多行文本需要其他方法 - 容器必须有**明确宽度**(固定宽度或弹性布局约束) - 在Flex布局中需额外添加`min-width: 0`解决压缩问题 - 省略号检测可通过JavaScript计算文本宽度实现[^3][^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值