-
vue 将一大串文字分两行显示,超出用省略号表示
2018-06-21 15:51:04众所周知,通过css设置文字强制不换行超出用省略号表示很简单: { white-space: nowrap; 文本强制不换行; text-overflow:ellipsis; 文本溢出显示省略号; overflow:hidden; 溢出的部分隐藏; } 但是如果要想...众所周知,通过css设置文字强制不换行超出用省略号表示很简单:
{ white-space: nowrap; 文本强制不换行; text-overflow:ellipsis; 文本溢出显示省略号; overflow:hidden; 溢出的部分隐藏; }
但是如果要想显示两行,超出用省略号表示要怎么写呢?
{ overflow: hidden; -webkit-line-clamp: 2; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; }
-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。
常见结合属性:
1,display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
2,-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
3,text-overflow: ellipsis;,可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本 。 -
Thinkphp内置的一个中英文字符串截取函数,显示省略号
2017-06-23 10:46:43Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用。 比如今天我们说的截取字符串函数,在...Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用。
比如今天我们说的截取字符串函数,在thinkphp模板引擎里可以这样写:{$vo.title|msubstr=0,5,’utf-8′,false} 至于{$vo.title}这个大家肯定不陌生了。就说说后边的函数msubstr吧。它代表的意思是截取字符串$vo.title,从0个字符开始截取,截取5个字符。使用的是utf-8编码,默认截取后不显示省略号,如果要显示省略号,直接把false改成true就可以啦。
函数解释:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
- $str:要截取的字符串
- $start=0:开始位置,默认从0开始
- $length:截取长度
- $charset=”utf-8″:字符编码,默认UTF-8
- $suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
ps:如果不能正常调用,那说明你没有加载函数库,可以使用 Load('extend');来加载函数,把它放到action中就可以啦~!
经试用:官方的msubstr函数好像无论如何也加不上省略号,官网论坛上找了一个修改方法,经测试可以正常使用~!
修改Commonextend.PHP文件的msubstr函数为如下代码即可:
- function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
- {
- if(function_exists("mb_substr")){
- if($suffix)
- return mb_substr($str, $start, $length, $charset)."...";
- else
- return mb_substr($str, $start, $length, $charset);
- }
- elseif(function_exists('iconv_substr')) {
- if($suffix)
- return iconv_substr($str,$start,$length,$charset)."...";
- else
- return iconv_substr($str,$start,$length,$charset);
- }
- $re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
- $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
- $re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";
- $re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";
- preg_match_all($re[$charset], $str, $match);
- $slice = join("",array_slice($match[0], $start, $length));
- if($suffix) return $slice."…";
- return $slice;
- }
-
Android TextView字符串太长进行截取,以省略号代替
2016-05-29 17:30:13有时候我们会遇到这样的问题,一个大字符串写到TextView里面,根本写不下,但是该字符串并不是固定的,所以我们不知道需要定多长的TextView 所以对于过长的字符串我们最后以省略号代替。如下所示: TextView只显示...有时候我们会遇到这样的问题,一个大字符串写到TextView里面,根本写不下,但是该字符串并不是固定的,所以我们不知道需要定多长的TextView
所以对于过长的字符串我们最后以省略号代替。如下所示:
TextView只显示一行,并且对于超出TextView宽度的部分以省略号结束。
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/HelloWorld"
android:ellipsize="end"
android:singleLine="true"
/>
其实省略号不只可以放在结尾部分,也可以放在前面,中间等,如下:
android:ellipsize="start" 省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="end" 省略号在结尾
android:ellipsize="marquee" 跑马灯显示
2016.5.29 北京 炎热的午后~太阳光很强烈
-
HTML多行省略号
2020-01-03 09:40:03有时候我们需要两行或者多行,超出就用省略号代替,之前是通过后端截取字符串长度来控制,但字符串中空格、数字、中文、英文大小写,字体的宽度都不同的,导致界面上有长有短。 下面代码还存在一个问题,元素里有...css只能设置单行超出用省略号表示
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
有时候我们需要两行或者多行,超出就用省略号代替,之前是通过后端截取字符串长度来控制,但字符串中空格、数字、中文、英文大小写,字体的宽度都不同的,导致界面上有长有短。
下面代码还存在一个问题,元素里有标签时没提取出来,这个需要遍历元素的childNodes,以后有机会再完善
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Ellipsis</title> <style> #test { width:100px; background:lawngreen; } .test-box { width: 210px; background-color: red; margin-bottom: 20px; } </style> </head> <body> <div id="test"> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 </div> <div class="test-box"> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 </div> <div class="test-box"> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 </div> <div class="test-box"> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 </div> <div class="test-box"> Meta标签是HTML语言head区的一个辅助性标签,它位于HTML文档头部的head标记和title标记之间,它提供用户不可见的信息。 </div> <script> class Ellipsis { offsetElement = document.createElement('span'); allWidth = 0; break = 0; constructor(el, pramas) { this.offsetElement.style.opacity = 0; document.getElementsByTagName('body')[0].appendChild(this.offsetElement); this.pramas = pramas || {break:0}; if(el.length > 0){ for(let i = 0,le = el.length; i < le; i++ ){ this.computerWidth(el[i]); } } else { this.computerWidth(el); } this.offsetElement.parentNode.removeChild(this.offsetElement); } computerWidth(el) { let maxWidth = el.offsetWidth; let textArr = el.innerText.split(''); let fontSize = window.getComputedStyle(el).fontSize; let str = ''; let htmlStr = ''; this.offsetElement.style.fontSize = fontSize; for(let i = 0,le = textArr.length; i < le; i++) { let text = textArr[i]; htmlStr += text; this.offsetElement.innerHTML = htmlStr; if(this.offsetElement.offsetWidth >= maxWidth){ this.break++; if(this.break >= this.pramas.break) { htmlStr += '...'; break; } if(this.offsetElement.offsetWidth > maxWidth){ i--; htmlStr = htmlStr.slice(0,htmlStr.length - 1) } str += htmlStr; htmlStr = ''; } } el.innerHTML = str + `<ellipsis-html style=" display:block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">${htmlStr}</ellipsis-html>`; this.offsetElement.innerText = ''; this.allWidth = 0; this.break = 0; } } new Ellipsis(document.getElementById('test'),{break:2}) new Ellipsis(document.getElementsByClassName('test-box'),{break:3}) </script> </body> </html>
-
如何实现文本超出部分使用省略号
2019-10-03 23:35:26在显示数据时,字符串过长将截取一定长度的字符串然后加个省略号显示,可字母和汉字,大小写字母在显示时虽然length一样可显示的长度却不一样,有什么办法可以解决截取的字符串在实际显示时都是一样的呢?... -
Lua语言实现:截取给定字符串的部分长度,超出部分用省略号“...”替换
2014-11-15 16:27:36为了给用户一个好的体验,往往策划会提出要求,比如角色名最大长度为18位,但是12位就已经超出框框,那么可以只显示9位,剩余部分用省略号替换,这样整个角色名就在给定框当中,给玩家的体验效果 -
用JS 控制文字两行 ,展示省略号(兼容谷歌 IE等各大浏览器)
2018-03-16 09:32:28用JS 控制实现两行文字多出部分展示省略号(兼容谷歌 IE等各大浏览器) 先说一下思路,控制好外部DIV的宽度,然后自行计算要展示几行的height,(someHeight),判断是否高于想要的高度,如果大于想要的高度,就... -
如何将长的标题用省略号收尾
2021-01-20 07:59:36[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]left():截取一个字符串的前部分 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]3,主要程序:判断内容长度是否大于给定值,据结果做相应操作 [Ctrl+A 全选 注:如... -
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2021-01-03 08:22:02文字的多行处理在dom元素中很好办。但是canvas中没有提供方法,只有通过...//处理文字多出省略号显示 dealWords: function (options) { options.ctx.setFontSize(options.fontSize);//设置字体大小 var allRow = Ma -
QT QLabel内容太长时候使用省略号
2020-09-22 11:06:50一个QLabel不可能显示无限长的字符串啊,这时候我们可以考虑,如果字符串长度太长的时候,我们就显示其中的一部分,剩下的用…显示。 比如说我们要显示“1234567890abcdefghijklmnopqrstuvwxyz”,能不能显示成... -
用CSS解决中英文混合字符串的截取省略问题的解决办法
2012-02-29 13:41:47作为一个程序员,经常需要面对的一个问题就是在新闻等信息的标题列表中,常常为了适应表格的宽度,需要对过长的标题文字的进行截取并在截取后的文字末端加上省略号。 众所周知,有很多方法可以实现这个功能,... -
java截取固定大小图片_JAVA技巧(长字符串按指定长度截取)
2021-02-06 21:50:05粗想一下,实现这个功能很容易,直接取字符串的长度(用length()方法),如果超出,就用substring()方法截取一段,然后再在结尾处加上省略号。但实际上这样做是不行的,至少说是某种程度上得不到我们想要的结果,因为... -
textview是否超过一行_【安卓】对于一个单行TextView,当字符串超出一行时,如何获取未显示的部分字符串?...
2021-01-30 10:51:00求大神问题修正:textview设定最大行数为1后,文本超出了textview,textView末尾显示省略号,我就想知道省略号代表的内容回答假设TextView的宽度是在xml内设置的具体数值,比如300dp,(目的是为了简化这个问题,如果... -
分享一个.NET(C#)按指定字母个数截断英文字符串的方法–提供枚举选项,可保留完整单词...
2018-01-16 22:16:00枚举选项包括:可保留完整单词,允许最后一个单词超过最大长度限制,字符串最后跟省略号以及不采取任何操作等,具体示例实现代码如下: using System; using System.Collections.Generic; using System.... -
截取字符串(AS3)
2013-07-20 10:06:39面对一个比较长的字符串,如果一个文本显示不全,最常见的处理方式就是后面的用省略号代替,大部分文本组件也都提供这样的功能了,可是现在却要把中间的部分用省略号代替,保留左右2边的完整性.献丑了!有什么可以给我留言... -
c语言printf相关函数 格式化字符串攻击 简介
2020-09-18 21:57:13前半部分是确定个数、确定类型的参数,第二部分就是省略号,代表数目和类型都不确定的参数表,省略号参数表中参数的个数和参数的类型是事先的约定计算出来的,每个实参的地址(指针)是根据确定参数表中最后一个实参... -
Python正则表达式尽可能小的匹配(遇到第一个结束字符串就停止匹配)
2020-08-07 13:06:23在写爬虫爬网页的时候,经常需要爬取里面的一大块代码,比如: <div>..................................</div></div></div></div> 我们需要省略号里面的代码块,如果我们用"*"、... -
将字符串长度进行剪切
2016-06-05 20:25:17在网页上我们经常会看到在列表栏里,有的标题或文章只显示一行后面会用省略号代替,即实现下图的效果: 将字符串截取指定长度后,用自定义的符号显示代表剩余内容: /// /// 将指定字符串按长度进行剪切 ///...
-
idea代码块红色下划线消除方法、无法查看源码方法
-
项目经理成长之路
-
龙芯实训平台应用实战(希云)
-
AOP零配置搭建以及失效的原因
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
MapReduceShuffle原理与SparkShuffle原理
-
github-git-cheat-sheet.rar
-
linux基础入门和项目实战部署系列课程
-
Sierpinski分形结构的太赫兹透射光谱特性研究
-
工程制图 AutoCAD 2012 从二维到三维
-
MyApplication190.zip
-
通过预安装给MultiDex加速
-
MySQL你该了解的那些事【服务端篇】
-
激光会聚原子沉积技术的原子沟道化研究
-
重学操作系统----17 | 进程和线程:进程的开销比线程大在了哪里?
-
Linux服务器与本地文件互传
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
Element-ui Date-Picker 返回数据 格式化
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
QUESTION 43-utlrp.sql