zoukankan      html  css  js  c++  java
  • 如何让html中的td文字只显示部分

    效果

    方法一:

    table增加下面属性

    参考内容

    HTML如何让table中的td内容过长显示为固定长度,多余部分用省略号代替

    这个问题呢,是由于我们公司测试的部门测出来的,虽然说测试的内容本身就是个BUG,不过这个也让我学到了一个比较好的归类于布局的一个小技巧,就是将td标签中过长的内容只显示为这个td的width的长度,之后的便以省略号代替。

    方式如下:

           这个功能有一个前提,在table中必须设置style:

    table-layout: fixed;

     这条属性就是让table的内部布局固定大小。这个时候就用width属性调节td的长度。

    之后在添加如下:

    <style>

    td {

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

    }

    </style>

    属性描述

    white-space:nowrap;规定段落中的文本不进行换行
    overflow:hidden;关闭滚动条
    text-overflow: ellipsis;溢出的文字显示为省略号
    
    

    这个时候你会发现,就算变成了省略号,就会出现不知道内容完整的是什么?

    所以这个时候可以考虑使用td的title属性,在title属性中设置内容为显示内容,这样只要光标停留在td处就可以显示全部的内容,如果觉得这个不够劲。可以考虑自己写一个mouseover事件,让内容全部显示,显示的方式是自动换行,如果不换行就会出现很难看的样式。

    so:换行也需要table-layout: fixed;

    在(IE浏览器)长串英文自动回行

    方法1:同时加入word-wrap:break-word;

    table{

            table-layout:fixed;word-wrap:break-word;

    }

    方法二:

    <style type="text/css">
     /*自动换行,IE,Chrome通用,FireFox连续英文不换行(遇空格换一行)*/
    .AutoNewline_break{
      word-wrap:break-word; word-break:break-all; 
    }
    
     .AutoNewline_normal{
       word-wrap:break-word; word-break:normal; 
    }
     /*强制不换行,IE,FireFox,Chrome通用*/
     .NoNewline{
        white-space:nowrap
    }
    /*标签继承*/
    div {
      background:red;  word-wrap: break-word;  word-break:break-all;
     }
    </style>

    上述style中的.*开头的是指html标签中class是*的标签,div就是指所有的div。

    如: .NoNewline就是指class为NoNewline的标签样式改为:white-space:nowrap

    用js修改style即可。当然最后也要写一个mouseout事件取消mouseover事件。

  • 相关阅读:
    How to Downgrade From iPhone Firmware 2.2 to 2.1 视频教程降级iphone 2.2 到2.1
    11种网站测试软件(转) 沧海一粟
    GoF23种设计模式之行为型模式之观察者模式
    Android柳叶刀之Button之图文并茂
    GoF23种设计模式之行为型模式之迭代器模式
    某大型银行深化系统之十九:日志规范
    GoF23种设计模式之行为型模式之中介者模式
    GoF23种设计模式之行为型模式之备忘录模式
    Android血刀之CheckBox之问卷调查
    Android应用开发之MetaData之数据挖掘
  • 原文地址:https://www.cnblogs.com/dixinyunpan/p/5760494.html
Copyright © 2011-2022 走看看