不值一提,却又不得不提的“CSS文本超出部分省略号代替”
偶然看到一篇类似css技巧与经验总结的文章,其中有一部分非常熟悉,那就是“css控制元素内文本超出部分使用省略号代替”,一般实际工作中,
很多产品经理会对页面UI有这样的要求。还记得,第一次做这个功能时,是通过百度到的,然后就是一劳永逸,直接记事本记录下来,以后基本上
就是拿来主义,根本就没有去研究一下其中的原理(其实也没什么原理,方法也很简单,O(∩_∩)O哈哈~),恰逢今日又碰到了,那就做个了断吧。
实现如题的功能,我们常用的代码如下:
p{
width: 100px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
这里P标签的4个css属性都是必要的,这些属性都起到什么作用呢?
width:用于设置p标签的宽度,如果没有宽度,何为“超出”,对吧?即使是没有手动的为p标签设定宽度,那么p标签横向也会自动充满父元素,也就是所说的100%;
white-space:这个属性不得了,特别值为“nowrap”的时候,为何这么说呢,因为当块级元素内的文本如果超过一行,即多行时,文本默认是要换行的,绝不会出现溢出
的情况;但是如果元素设置了这个属性white-space:nowrap,那么文本会无视父元素的宽度限制,结果就是文本溢出,如下图:

结果就是这样,你说它牛叉不牛叉。
overflow:该属性是告诉元素,如果它内部包含的元素(图片、文本、其他元素等等)超出它的长宽范围时该如何处理,是显示滚动条呢,还是隐藏超出部分呢?而我们
当前所说的案例是需要超出的文本被隐藏,所以我们设置overflow:hidden。
text-overflow:这个属性是CSS3的新属性,下面是官方解释:

我们需要把它的值设为ellipsis,该值的意思就是以省略号代替超出的文本部分。
4个属性值组合起来使用,最后达到了这样的效果:
代码

运行结果

结语:希望此篇文章可以对像我一样“拿来主义”的童鞋们有所帮助
不值一提,却又不得不提的“CSS文本超出部分省略号代替”的更多相关文章
- css文本超出部分省略号&CSS强制换行总结
word-break:break-all单词截断自动换行 word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congra ...
- 关于H5 移动端css 文本超出时省略号 失效的问题
之前写代码的时候遇到一个问题,就是用了下面这段css代码来让文字超出范围隐藏并显示省略号. overflow: hidden; text-overflow: ellipsis; display: -w ...
- CSS文本超出用省略号代替的方法
{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
- css文本超出省略号
终于完成了项目了,今天我就分享自己在项目中比较实用的一些功能的实现,第一个就是纯css文本超出省略号 /* 文本单行超出省略号 */ .textels { overflow: hidden; text ...
- 文本超出显示省略号/数字英文字母折行有关css 属性/显示两行,第二行省略号显示css方法
文本超出显示省略号: 定容器宽度 overflow: hidden; text-overflow: ellipsis; 文本超出显示省略号 white-space:nowrap; 强制文本不换行 折 ...
- CSS文本溢出显示省略号
项目中常常有这种需要我们对溢出文本进行"..."显示的操作,单行多行的情况都有(具体几行得看设计师心情了),这篇随笔是我个人对这种情况解决办法的归纳,欢迎各路英雄指教. 单行 语法 ...
- 文本超出显示省略号CSS
单行超出显示省略号 display: block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; 多行超出显示省略号 1.普 ...
- CSS——文本超出隐藏显示省略号
文本超出隐藏显示省略号 1.单行文本的溢出显示省略号 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; // overflo ...
- css 文本超出容器长度后自动省略的方法!
我们在给用户显示文本内容的时候,往往需要避免文本内容超出容器宽度,防止换行溢出,小弟在网上找了下发现网上的实现仅仅只是实现了用 ...省略了的功能! 而并没有获取光标提示的功能,所有小弟就结合网上的代 ...
随机推荐
- MySQL5.7新特性
MySQL5.7介绍 身处 MySQL 这个圈子,能够切身地感受到大家对 MySQL 5.7 的期待和热情,似乎每个人都迫不及待的想要了解.学习和使用 MySQL 5.7.那么,我们不禁要问, MyS ...
- C语言语法目录二
1.char类型 char c;定义了一个char变量 'a' ; char常量 char的本质就是一个整数,一个只有一个字节大小的整数 char c; 定义一个有符号的char unsigned c ...
- java基础之对象当做参数传进方法的堆栈内存解析
值类型当做参数传进方法: 引用类型对象当做参数传进方法: String字符串当做参数传进方法:
- 相关度算法BM25
BM25算法,通常用来作搜索相关性平分.一句话概况其主要思想:对Query进行语素解析,生成语素qi:然后,对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加 ...
- PHP 商城无限极分类
无限极分类,用的是递归,在外部调用fen()方法即可 index是刚开始寻找的顶级分类,suo是为了在前端展示的时候缩进 ,$suo=){ 一个数组用来返回的 $t=[]; 这是查询数据库的所有内容 ...
- 一个完整的用java客户端使用httpClient请求网页并返回的方法
import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import ja ...
- instanceof php
instdnceof php5 的一个新成员 功能: 使用这个关键字可以确定一个对象是否是类的实例,是否是累的子类 ,还是实现了某个特定的接口. <?php class A{} class B ...
- 如何安全退出已调用多个Activity的应用
对于单一Activity的应用来说,退出很简单,直接finish()即可.当然,也可以用killProcess()和System.exit()这样的方法. 但是,对于多Activity的应用来说,在打 ...
- Java方法学习疑问
此方法不理解 finalize() 方法 Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize( ),它用来清除回收对象. 例如,你可以使用finaliz ...
- 15.select into
select into SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档. CREATE TABLE ...