CSS控制文本超出指定宽度后用省略号代替

本文介绍了使用CSS控制文本超出指定宽度后显示省略号的方法,包括一般文字截断、表格文字溢出的定义、控制文本不换行及隐藏文本超出范围等内容。

http://blog.youkuaiyun.com/ynz1219/article/details/7413530/

CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行。

一般的文字截断(适用于内联与块):

.text-overflow {
    display:block;/*内联对象需加*/
    width:31em;
    word-break:keep-all;/* 不换行 */
    white-space:nowrap;/* 不换行 */
    overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
    text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
}

对于表格文字溢出的定义:
对于表格超出范围显示省略号

table{
    width:30em;
    table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下面td的定义才能起作用。 */
}
td{
    width:100%;
    word-break:keep-all;/* 不换行 */
    white-space:nowrap;/* 不换行 */
    overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
    text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
}


需要你注意的是,这个CSS样式只对单行的文字的效,如果你想把它用在多行上,也只有第一行有作用的。 这个写法只有IE会有“...”,

其它的浏览器文本超出指定宽度时会隐藏。

以上问题可以解决:使用CSS如何控制文本换行?使用CSS如何控制文本不换行?使用CSS如何控制文本超出范围后显示省略号?使用CSS如何控制文本超出范围后隐藏?


这边一定要注意红色标记的行 table必须指定那个属性 否则不起作用

### CSS 实现文本自动换行并在超出容器时用省略号替代剩余部分 为了实现这一功能,可以利用 `white-space`、`overflow` 和 `text-overflow` 属性组合来达到预期效果。具体来说: 对于需要处理的文字内容所在的选择器应用以下样式声明[^1]: ```css .text-container { white-space: nowrap; /* 防止文字正常换行 */ overflow: hidden; /* 当内容溢出元素框时不显示超出的部分 */ text-overflow: ellipsis; /* 使用省略号表示被修剪的文本 */ } ``` 如果希望允许多行文本并且每行结尾都可能出现省略号,则可采用 WebKit 浏览器特有的方式通过 `-webkit-line-clamp` 来限定最大可见行数,并配合其他属性完成布局[^2]。 ```css .multi-line-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* 设置最多显示三行 */ overflow: hidden; text-overflow: ellipsis; } ``` 下面给出一段完整的 HTML 页面代码作为例子展示如何将上述 CSS 应用于实际场景中: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> /* 单行文本截断 */ .single-line { width: 200px; border: 1px solid #ccc; padding: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* 多行文本截断 (仅适用于WebKit浏览器)*/ .multi-lines { width: 200px; height: 6em; /* 控制高度以适应指定行数 */ border: 1px solid #ccc; padding: 5px; margin-top: 10px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; } </style> </head> <body> <div class="single-line">这是单行文本,在超过设定宽度后应该会出现省略号...</div> <div class="multi-lines">这是一段较长的多行文本示例。当这段话超过了我们预先定义的高度限制时,它将会在最后一行处显示出省略号代替多余的内容。</div> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值