精华内容
下载资源
问答
  • 2019-07-25 17:48:33

    <!DOCTYPE html>
    <html>
    <head>
        <title>长度超过限制</title>
    </head>
    <body>
      <input type="" name=""  style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;background-color: pink">
      <div style="width:60px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;background-color: pink">而天涯人挺好的方式是国家级三十多家公司三个地方活动结束</div>
    </body>
    </html>

     

     

    样式添加:
    overflow:hidden; white-space:nowrap; text-overflow:ellipsis; 即可

    更多相关内容
  • JavaScript字符串处理函数,根据定义的长度截取字符串,超出部分裁掉追加……,很多时候网页上显示的内容需要缩成... //length属性读出来的汉字长度为1 if(str.length*2 <= len) { return str; } var strl
  • 本文实例讲述了Android设置TextView显示指定个数字符,超过部分显示…(省略号)的方法。分享给大家供大家参考,具体如下: 一、问题: 今天在公司遇到一个需求;TextView设置最多显示8个字符,超过部分显示…(省略号)...
  • 控件中文显示不全自动填充省略号 QLabel *textLabel = new QLabel(this); textLabel->setStyleSheet("background-color:red"); textLabel->setAlignment(Qt::AlignCenter); textLabel->setFixedWidth...

    1、正常情况下,如果宽度足够:

        QLabel *textLabel = new QLabel(this);
        textLabel->setStyleSheet("background-color:red");
        textLabel->setAlignment(Qt::AlignCenter);
        textLabel->setFixedWidth(500);
        QString mStr = "hello world";
        textLabel->setText(mStr);

    2、控件宽度不够(把宽度改为100),不处理:

    如图,无法显示完全。

    3、处理之后:

    代码:

        QLabel *textLabel = new QLabel(this);
        textLabel->setStyleSheet("background-color:red");
        textLabel->setAlignment(Qt::AlignCenter);
        textLabel->setFixedWidth(100);
        QString mStr = "hello world";
        textLabel->setText(mStr);
    
        QFontMetrics  fontMetrics(textLabel->font());
        int fontSize = fontMetrics.width(mStr);
        if (fontSize > textLabel->width()) {
            textLabel->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, textLabel->width()));
            textLabel->setToolTip(mStr);
        } else {
            textLabel->setText(mStr);
            textLabel->setToolTip("");
        }

    当然,我们也可以改为省略左边的内容(Qt::ElideLeft):

    又或是省略中间的内容(Qt::ElideMiddle):

    文字过长自动省略号的Label:

    .h:

    #ifndef FIXLABEL_H
    #define FIXLABEL_H
    #include <QLabel>
    
    //文本长自动省略并添加悬浮
    class  FixLabel : public QLabel
    {
    
        Q_OBJECT
    public:
        explicit FixLabel(QWidget *parent = nullptr);
        explicit FixLabel(QString text , QWidget *parent = nullptr);
        ~FixLabel();
        void setText(const QString &text, bool saveTextFlag = true);
    protected:
        void paintEvent(QPaintEvent *event);
    
    private:
        QString mStr;
    };
    
    
    #endif // FIXLABEL_H

    .cpp:

    #include "fixlabel.h"
    #include <QFontMetrics>
    #include <QDebug>
    
    FixLabel::FixLabel(QWidget *parent):
        QLabel(parent)
    {
    
    }
    
    FixLabel::FixLabel(QString text , QWidget *parent):
        QLabel(parent)
    {
        this->setText(text);
    }
    
    FixLabel::~FixLabel()
    {
    
    }
    
    void FixLabel::paintEvent(QPaintEvent *event)
    {
        QFontMetrics fontMetrics(this->font());
        int fontSize = fontMetrics.width(mStr);
        if (fontSize > this->width()) {
            this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, this->width()), false);
            this->setToolTip(mStr);
        } else {
            this->setText(mStr, false);
            this->setToolTip("");
        }
        QLabel::paintEvent(event);
    }
    
    void FixLabel::setText(const QString & text, bool saveTextFlag)
    {
        if (saveTextFlag)
            mStr = text;
        QLabel::setText(text);
    }

    文字过长自动省略号的button:

    #ifndef _FIXBUTTON_H_
    #define _FIXBUTTON_H_
    #include <QPushButton>
    
    
    class  FixButton : public QPushButton
    {
        Q_OBJECT
    public:
        FixButton(QWidget *parent = nullptr);
        ~FixButton();
        void setText(const QString &text, bool saveTextFlag = true);
    private:
        void paintEvent(QPaintEvent *event);
    
    private:
        QString mStr;
    };
    
    #endif
    #include "fixbutton.h"
    #include <QFontMetrics>
    #include <QDebug>
    
    FixButton::FixButton(QWidget *parent):
        QPushButton(parent)
    {
    
    }
    
    FixButton::~FixButton()
    {
    
    }
    
    void FixButton::paintEvent(QPaintEvent *event)
    {
        QFontMetrics fontMetrics(this->font());
        int fontSize = fontMetrics.width(mStr);
        int showTextSize = this->width() - this->contentsMargins().left() - this->contentsMargins().right();
        if (fontSize > showTextSize) {
            this->setText(fontMetrics.elidedText(mStr, Qt::ElideRight, showTextSize), false);
            this->setToolTip(mStr);
        } else {
            this->setText(mStr, false);
            this->setToolTip("");
        }
        QPushButton::paintEvent(event);
    }
    
    void FixButton::setText(const QString & text, bool saveTextFlag)
    {
        if (saveTextFlag)
            mStr = text;
        QPushButton::setText(text);
    }

    展开全文
  • 分别针对TextView和EditView超过限制长度显示省略号给出解决方案 TextView设置单行并且设置maxEms,超过的部分显示end省略号. <TextView android:layout_width="wrap_content" android:layout_height="wrap_...

    分别针对TextView和EditView超过限制长度显示省略号给出解决方案

    TextView设置单行并且设置maxEms,超过的部分显示end省略号.

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World hello world!"
        android:maxLines="1"
        android:maxEms="5"
        android:ellipsize="end"/>

    有设置的是android:maxEms="5",这里的长度是指5个大写“M”的宽度,但是我测试中文汉字发现出现6个汉字之后才出现省略号,又或者是字体加粗之后,和没有加粗的情况下显示的汉字个数也是不一样的,对于要求比较高的设计师,怎么办呢?

    解决方案如下:

    在代码里面这样写:

    textView.setSingleLine(true);

    textView.setText(TextUtils.ellipsize(textToFill,textView.getPaint(),maxlength,TextUtils.TruncateAt.END);

    textToFill:你要填充在textview的原始字符串

    maxlength:你要设置多少字截断后面显示省略号,如大于10个字长后显示省略号

    对于EditView设置单行和maxLength超出部分会发生截断,并不显示省略号,经测试发现设置单行和maxLength只会对editView的hint产生省略号的效果.那么这个问题怎么解决呢?

    产品现在又要求超过给定长度,显示省略号,且省略号要文字的底部,如省略号...,正常情况下,我们知道省略号一般是在文字的中部展示,这个问题又怎么解决呢?

    下面给出代码:

    public static CharSequence ellipsize(String text, EditText editText, int maxLength) {
        CharSequence charSeq = "";
        if (!TextUtils.isEmpty(text)) {
            charSeq = TextUtils.ellipsize(text, editText.getPaint(), maxLength, TextUtils.TruncateAt.END);
            charSeq = TextUtils.replace(charSeq, new String[]{"\u2026"}, new String[]{"..."});
        }
        return charSeq;
    }

    说明:

    1.参数editText可以换成TextView,EditView是TextView的子类

    2.charSeq = TextUtils.ellipsize(text, editText.getPaint(), maxLength, TextUtils.TruncateAt.END); 可以实现省略号在文字中部显示,editView在文字中部显示省略号可以用这种方法

    3.charSeq = TextUtils.replace(charSeq, new String[]{"\u2026"}, new String[]{"..."}); 可以实现省略号...

    \u2026表示省略号,是Unicode的16进制表示,上面的意思是将"\u2026"代表的省略号用"..."代替,这样charSeq就是一个末尾是...的字符串了

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    这里再记录下:

    \u0020的意思是表示空格,是unicode的16进制表示     

    在XML中写字符串时,可能需要在字符串后面加空格,A_B(中间有空格的情况)是没有问题,用不到转义字符;
         但 是AB_ (后面有空格的)时候,就需要转个义。XML转义字符 ,\u0020写xml string的时候可能会用到 。

        <string name="nameAAAA">Value\u0020;</string>

     

    参考博客:

    https://blog.csdn.net/ouyang_peng/article/details/16856035?utm_source=copy

    展开全文
  • if(escape(a+"").length() > 4) { //中文字符的长度经编码之后大于4 str_length++; } str_cut = str_cut.concat(a+""); if(str_length>=len) { str_cut = str_cut.concat("..."); returnStr=str_cut; break; } } //...

    直接贴代码!

    JAVA

    public String getLenStr(String str,int len){

    String returnStr="";

    int str_length = 0;

    int str_len = 0;

    String str_cut = new String();

    str_len = str.length();

    for(int i = 0;i

    char a = str.charAt(i);

    str_length++;

    if(escape(a+"").length() > 4)

    {

    //中文字符的长度经编码之后大于4

    str_length++;

    }

    str_cut = str_cut.concat(a+"");

    if(str_length>=len)

    {

    str_cut = str_cut.concat("...");

    returnStr=str_cut;

    break;

    }

    }

    //如果给定字符串小于指定长度,则返回源字符串;

    if(str_length

    returnStr=str;

    }

    return returnStr;

    }

    private static String escape (String src) {

    int i;

    char j;

    StringBuffer tmp = new StringBuffer();

    tmp.ensureCapacity(src.length()*6);

    for (i=0;i

    j = src.charAt(i);

    if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))

    tmp.append(j);

    else if (j<256) {

    tmp.append( "%" );

    if (j<16)

    tmp.append( "0" );

    tmp.append( Integer.toString(j,16) );

    } else {

    tmp.append( "%u" );

    tmp.append( Integer.toString(j,16) );

    }

    }

    return tmp.toString();

    }

    JS

    function cutstr(str, len) {

    var str_length = 0;

    var str_len = 0;

    str_cut = new String();

    str_len = str.length;

    for (var i = 0; i < str_len; i++) {

    a = str.charAt(i);

    str_length++;

    if (escape(a).length > 4) {

    //中文字符的长度经编码之后大于4

    str_length++;

    }

    str_cut = str_cut.concat(a);

    if (str_length >= len) {

    str_cut = str_cut.concat("...");

    return str_cut;

    }

    }

    //如果给定字符串小于指定长度,则返回源字符串;

    if (str_length < len) {

    return str;

    }

    }

    展开全文
  • 一、在模块下的common.php中添加方法:/***+----------------------------------------------------------* 字符串截取,支持中文和其他编码*+----------------------------------------------------------* @static...
  • 设置某个编辑框,当文本长度比显示宽度要长时, 依据需求要将文本后面显示为省略号。 我在设计时 QFontMetrics metrics(m_contentFont); QString showText = metrics.elidedText(content, Qt::ElideRight, m_...
  • 可以使用css样式来解决,如果没有显示省略号,看看是否是行内元素,加上 display: block!important;即可。 display: block!important; width:60px; text-overflow:ellipsis; -o-text-overflow:ellipsis; -...
  • 1、超过指定字符数  这个实现方法网上一查一大堆,这里挑几篇网友的参考: https://blog.csdn.net/lvi_166/article/details/53762008 ...  2、超过指定宽度 由于中文字符和英文字符的大小不...
  • function abslength($str){$len=strlen($str);$i=0; $j=0;while($i{if(preg_match("/^[".chr(0xa1)."-".chr(0xf9)."]+$/",$str[$i])){$i+=3; //注意TP中的编码都是utf-8,所以+3;如果是GBK改为+2}else{$i+=1;...
  • 字数超出长度显示省略号,使用CSS实现 overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 超出字数出现提示,我使用的是element-ui的 el-tooltip实现的。添加一个mouseover方法,鼠标放到文字...
  • # vue中字符串文本长度超出显示省略号…及悬浮显示全部文本 需求: 显示不下的文本用省略号代替, 并且鼠标悬停在存放文本的标签里面时(即系悬浮), 会有一个div显示该单元格的全部文本信息 思路: (1)在需要设置...
  • 1.文件名字符串过长,显示省略号(1)用css方法使用css属性使溢出功能显示省略号/* 隐藏溢出内容*/overflow:hidden;/* 设置宽度为多少时显示省略号*/width:10%;text-overflow:ellipsis;/* 不可换行功能 */white-space:...
  • 在实际应用中,有的单元格可能内容较多,如何能做到内容超出一定长度显示省略号(...),当鼠标移动到单元格的时候,显示全部内容呢? 2. 解决方案 2.1 方法一(直接用 FineReport 公式实现) 1)在A2...
  • function abslength($str){$len=strlen($str);$i=0; $j=0;while($i{if(preg_match("/^[".chr(0xa1)."-".chr(0xf9)."]+$/",$str[$i])){$i+=3; //注意TP中的编码都是utf-8,所以+3;如果是GBK改为+2}else{$i+=1;...
  • 在修改jsp页面的时候遇到一个问题,就是设置table的内容时由于内容很长,超出设定宽度的文本用省略号替代时不起作用。 处理 table元素默认展示的内容时,table的默认布局为table-layout: automatic;,列宽度由单元格...
  • css实现文字过长显示省略号的方法

    千次阅读 2021-08-05 03:41:48
    比如:标题限制20个中文的宽度,超出的就用省略号代替。之前会使用程序截取的方法,不过使用css来截取更有利于SEO。下面就介绍一下具体的使用方法当对象内文本溢出时显示省略标记复制代码这是一个例子,其实我们只...
  • html文字两行后,就用省略号代替剩下的一、总结一句话总结:实现原理很简单,将box的高度设置为行高的两倍,超出之后隐藏,这样就只有两行了,然后再用after属性绝对定位在第二行后面加几个点 ....style2{position:...
  • javascript 实现文本使用省略号替代 实现效果图: 如果图片不清晰,建议放大浏览器的尺寸进行查看 1.这里是配合jQuery来进行替换的,所以jquery还是必备的,毕竟是轻量级,而且对各大的浏览器兼容性也好。所以开始页面...
  • 这次给大家带来文字超过规定行数时自动生成省略号,文字超过规定行数时自动生成省略号的注意事项有哪些,下面就是实战案例,一起来看一下。www.jb51.net jQuery自动添加省略号$(function () {$(".figcaption").each...
  • } 我们在行列时,经常会出现一行文字超出了宽度,很多人使用了 overflow:hidden,让超出来的内容隐藏,有没有一种代码让文字超出时,出现省略号了? 可以使用这种方法:white-space:nowrap; text-overflow:ellipsis...
  • 使用css将超出盒子的文字显示为省略号 为目标盒子设置以下css样式就可以了: li { overflow: hidden; /* 将超出的内容隐藏 */ white-space: nowrap; /* 禁止文字自动换行 */ text-overflow: ellipsis; /* 多余的...
  • php 超长用省略号代替

    2021-05-08 18:23:07
    /*Utf-8、gb2312都支持的汉字截取函数cut_str(字符串, 截取长度, 开始长度, 编码);编码默认为 utf-8开始长度默认为 0*/function cut_str($string, $sublen, $start = 0, $code = 'UTF-8'){if($code == 'UTF-8'){$pa ...
  • 在label样式上直接写上 style="width:30px;height:20px;...溢出文本显示省略号,text-overflow:ellipsis 这个标题其实已经是一个老生常谈的问题了。很多时候,比如网站最基本的文章列表,标题会很...
  • 首先先说一个方法,就是有中文的时候,计算真实的长度 function getRealLen( str ) { return str.replace(/[^\x00-\xff]/g, 'aa').length; //这个把所有双字节的都给匹配进去了 } 原理是利用正则把中文变成"aa...
  • PHP字符串截取函数超出显示省略号代码/**判断标题长度函数*$title标题字符串*$titlelen标题不能超过的最大长度*/function titlen($title,$titlelen){$len = strlen($title);if ($len <= $tit...
  • Android TextView 超出长度显示省略号

    千次阅读 2019-07-23 14:56:11
    <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_...注:由于默认中文中文字符之间有间距,所以实现显示字符个数会有误差--> android:maxEms="1...
  • 本文目标:1、掌握文本带省略号的显示效果问题:1、实现以下效果,要求使用纯DIV+CSS,不适用任何框架附加说明1、总体宽度是500px,在页面中居中显示2、标题字体大小是22px,其他字体是16px3、超级开心果作者的名称靠...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,218
精华内容 12,087
关键字:

中文省略号的长度