• 前端页面文字长度显示控制


      Web页面上,有些组件的文字显示长度是需要控制的,例如表格中单元格内的文字宽度,label的文字宽度等。比如单元格的宽度是50px,假设文字内容宽度是80,这样就是把表格撑开,并且会换行,导致页面布局错乱。面对这种情况,通常是通过禁止换行并分割文字,隐藏文字实现控制。

        通用的方法是通过css来控制,主要涉及到三个属性:overflow: hidden;  white-space: nowrap;  text-overflow: ellipsis; 就可以实现,结果是组件上会部分显示文字,超出的部分,以省略号的形式显示。为了用户能看到全部的文字,一般会在组件的title属性中填写要显示的全部文字。

         上述的方法可以解决大多数的文字显示不开的问题,但是有时候,浏览器并不一定会支持上述的显示,例如IE10下,文字虽然会被分割,但是不显示省略号,或者IE10下,由于某些原因,干脆就完全没有效果,这个时候,就该考虑另一种方法了:

          通过js实现这种控制,并且要对所有的同类型组件起到相同控制。方法如下:首先获取所有同类型组件,然后遍历组件获取值,判断这个值的长度是否超过设置的宽度,超过则截取,并重新按照我们自己设定的内容赋值,不超过则正常显示。这样就实现了文字显示的控制,并且这种js实现的方式,兼容性会相对好一点。为了实现全局控制,需要把这个操作代码放入到共用的js中。

         上述的结果和代码如下所示:

    图1 未处理,这里是两个label

    图 2 处理后的效果

    css代码:

     label {  
       60px;  
       display:block;  
       overflow: hidden;  

       white-space: nowrap;  

      text-overflow: ellipsis; 

    }

    js代码:

    公共的js中

    $(function() {
    /*处理label显示问题,超出宽度,裁剪,并省略号,其他组件文字显示问题一样*/
    $("label") .each(function(){
        var labelval=  $(this).text() ;
        if(labelval.length>3){
        $(this).text(labelval.substring(0,3)+"...");
    }
    });

    /*处理表格显示问题,超出宽度,裁剪,并省略号*/
    var td_length=$('.table td').length;
    for(var n=0;n<td_length;n++){
    var tdContent = $('.table td:eq('+n+')').html();
    if(tdContent.length>20){
    tdContent = tdContent.substring(0,20)+"...";
    $('.table td:eq('+n+')').html(tdContent);
    }
            
    }
    });
    ————————————————
    版权声明:本文为CSDN博主「shenao_2008」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/shenao_2008/article/details/79774972

  • 相关阅读:
    1系统负荷
    动画
    日常问题记录--JSP页面中通过<s:property value="#parameters.userName[0]>获取URL参数中文时为乱码的解决办法
    linux下替换一个文件中的所有中文字符的方法
    日常问题记录--getJSON函数不执行回调函数的原因总结
    日常问题记录-- java.util.NoSuchElementException
    日常问题记录--POST时,struts2的 request.getParameter找不到参数
    日常问题记录--nested exception is java.lang.NoClassDefFoundError: org/apache/oro/text/regex/MalformedPatternExcept
    mysql系统搭建互备DB(双主)记录
    使用forEach函数绑定函数的上下文
  • 原文地址:https://www.cnblogs.com/JurasVon/p/12036039.html
Copyright © 2020-2023  润新知