css控制不溢出,不换行,溢出部分省略号显示

本文详细介绍了CSS中用于控制文本换行和溢出的属性,包括text-overflow, white-space, overflow等,通过示例代码演示如何实现文本在不同情况下的显示效果,特别关注在DIV或表格内文本超出宽度时的处理方式。

white-space: nowrap;text-overflow:ellipsis; overflow:hidden;

 

text-overflow : clip | ellipsis
取值:
clip : 默认值。不显示省略标记(...),而是简单的裁切
ellipsis : 当对象内文本溢出时显示省略标记(...)

 

white-space : normal | pre | nowrap 取值:
normal : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre : 换行和其他空白字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为 standards-compliant mode 支持。如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使用,但是不会发生作用。结果等同于 normal 。参阅 pre 对象
nowrap : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。参阅 noWrap 属性

overflow : visible | auto | hidden | scroll
取值:
visible : 默认值。不剪切内容也不添加滚动条。假如显式声明此默认值,对象将以包含对象的 window 或 frame 的尺寸裁切。并且 clip 属性设置将失效
auto : 在必需时对象内容才会被裁切或显示滚动条
hidden : 不显示超过对象尺寸的内容
scroll : 总是显示滚动条


转处:http://blog.163.com/amy0713@126/blog/static/1370485372011656210202/

 

另一出处介绍:

 

div+CSS设置一行内文字超过宽度不换行且不显示

当一行文字超过DIV或者Table的宽度的时候,浏览器中默认是让它换行显示的,如果我们不想让他换行显示那要怎么办呢?看到这个标题很容易就会想到截断文字加“...”的做法。

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

对于表格的话,定义有一点不一样:
==============CSS================ 
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;一起使用。*/

=================================

注:这个东东只对单行的文字的效,如果你想把它用在多行上,也只有第一行有作用的。 这个写法只有IE会有“...”,其它的浏览器文本超出指定宽度时会隐藏。

转自:http://blog.youkuaiyun.com/herb777/article/details/7652343

<think>我们被要求解决一个CSS问题:设置文本显示溢出显示省略号。根据提供的引用,我们可以总结出实现方法。 根据引用[2]和引用[4]: 1. 设置一个固定的宽度(或最大宽度) 2. 禁止换:white-space: nowrap; 3. 溢出隐藏:overflow: hidden; 4. 显示省略号:text-overflow: ellipsis; 注意:这些样式需要应用在块级元素或设置为块级显示的元素上。 因此,我们可以这样写CSS.single-line-ellipsis { width: 200px; /* 或者你需要的宽度,也可以使用max-width */ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 示例HTML: <div class="single-line-ellipsis"> 这是一段很长的文本,当它超过容器的宽度,会以省略号显示。 </div> 注意:这种方法只适用于单文本。 另外,引用[3]提到了多文本溢出显示省略号的方法,但用户的问题只要求单,所以我们展开。 根据指令,我们需要生成相关问题,所以最后会列出几个相关问题。 注意:在回答中,我们引用了引用[2]和引用[4],所以在末尾添加引用标识。</think>在 CSS 中设置文本显示并在溢出显示省略号,可以通过以下代码实现: ```css .single-line-ellipsis { width: 200px; /* 设置固定宽度 */ white-space: nowrap; /* 禁止文本 */ overflow: hidden; /* 隐藏溢出内容 */ text-overflow: ellipsis; /* 溢出部分显示省略号 */ } ``` ### 关键属性说明: 1. **`width`** 必须为容器设置固定宽度(如 `200px`)或最大宽度(`max-width`),用于确定溢出边界[^2][^4]。 2. **`white-space: nowrap`** 强制文本保持单显示,禁止自动换[^2][^4]。 3. **`overflow: hidden`** 隐藏超出容器宽度的内容[^2][^4]。 4. **`text-overflow: ellipsis`** 将溢出文本替换为省略号(`...`)[^2][^4]。 ### 完整示例: ```html <div class="single-line-ellipsis"> 这是一段超长的单文本,超出容器宽度会自动显示省略号。 </div> ``` ### 注意事项: - 此方案**仅适用于单文本**,多文本需使用 `-webkit-line-clamp` 等方案[^3]。 - 元素需为**块级元素**(如 `div`, `p`),或设置 `display: block`/`inline-block`[^2]。 - 省略号的渲染依赖容器宽度,需确保父级容器有明确宽度约束[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值