表格单元格内容超出时显示省略号效果

  在前端开发中,经常会遇到需要限制单元格宽度并且内容超出部分显示省略号的的情况。下面就简单的介绍下如何达到这种效果。

  准备知识

  1. 控制文本不换行

  white-space: nowrap;

  2. 超出长度时,出现省略号

  overflow:hidden;

  text-overflow:ellipsis

  3. 修改表格布局算法

  table-layout:fixed;table-layout的默认值为automatic,意思是列宽度由单元格内容设定。而fixed意思是列宽由表格宽度和列宽度设定。

  也就是说当你给表格设定列宽时,实际情况是不起作用的,当单元格内容过多时,依然会把宽度撑开。如果需要让表格的列宽显示方式由自己给单元格定义的列宽决定,就必须使用fixed这个值。

  注意:1、表格必须设置宽度 2、如果只设置表格宽度,而不设置列宽度的话,列的宽度会平均分配。

  代码演示

  如下代码所示,表格中安排了姓名、年龄、性别以及地址四列,这几个列的长度分别为10%、20%、30%、40%。

<!doctype html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8" />  
    <title>表格演示</title>  
    <style type="text/css">  
        table{   
            width: 100%;   
            table-layout: fixed;   
        }   
        .name{   
            width: 10%;   
        }   
        .age{   
            width: 20%;   
        }   
        .sex{   
            width: 30%;   
        }   
        .addr{   
            width: 40%;   
        }   
           
    </style>  
</head>  
<body>  
    <table border="1" cellspacing="0" cellpadding="0">  
        <thead>  
            <tr>  
                <th class="name">姓名</th>  
                <th class="age">年龄</th>  
                <th class="sex">性别</th>  
                <th class="addr">地址</th>  
            </tr>  
        </thead>  
        <tbody>  
            <tr>  
                <td>李四</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
            <tr>  
                <td>李四</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
            <tr>  
                <td>李四</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
        </tbody>  
    </table>  
</body>  
</html>  

  显示效果如下所示:

  很容易可以看出,姓名、年龄、性别以及地址等列的长度分别是10%、20%、30%、40%。

  如果将第一个的姓名内容增多,效果简直不忍直视(>﹏<)!

  不忍直视(>﹏<)!!

  如何把单行内容超出部分显示为省略号呢?只需要将单元格设置如下属性:

white-space: nowrap;/*控制单行显示*/   
overflow: hidden;/*超出隐藏*/   
text-overflow: ellipsis;/*隐藏的字符用省略号表示*/  

  话不多说,上代码!

<!doctype html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8" />  
    <title>表格演示</title>  
    <style type="text/css">  
        table{   
            width: 100%;   
            table-layout: fixed;   
        }   
        .name{   
            width: 10%;   
        }   
        .age{   
            width: 20%;   
        }   
        .sex{   
            width: 30%;   
        }   
        .addr{   
            width: 40%;   
        }   
        td{   
            white-space: nowrap;/*控制单行显示*/   
            overflow: hidden;/*超出隐藏*/   
            text-overflow: ellipsis;/*隐藏的字符用省略号表示*/   
        }   
    </style>  
</head>  
<body>  
    <table border="1" cellspacing="0" cellpadding="0">  
        <thead>  
            <tr>  
                <th class="name">姓名</th>  
                <th class="age">年龄</th>  
                <th class="sex">性别</th>  
                <th class="addr">地址</th>  
            </tr>  
        </thead>  
        <tbody>  
            <tr>  
                <td class="name2">李四sssssssssssssssssssssssssssssssssss</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
            <tr>  
                <td>李四</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
            <tr>  
                <td>李四</td>  
                <td>13</td>  
                <td>男</td>  
                <td>山东</td>  
            </tr>  
        </tbody>  
    </table>  
</body>  
</html>  

  修改后,效果如下:

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/130.html

上一篇 2016-01-29
下一篇 2016-05-22

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • HTML5中article元素与section元素有什么区别

      在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉、页脚、内容区块等文档结构相关联的结构元素。内容区块是指将HTML页面按逻辑分割后的单位。例如对于书籍来说,章、节可以称为内容区块;对于博客网站来说,导航菜单、文章正文、文章的评论等每一个部分都可称为内容区块。   在HTML5中新增的主体结构元素中有两个元素分别article元素与section元素,这两个元素是什么意思?通常用于哪些内容区块?何时用article元素......

    2014-10-27
    18540
  • CSS clearfix清除浮动进化史

      我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧。   clearfix清除浮动   首先在很多很多年以前我们常用的清除浮动是这样的。 .clear{clear:both;line-height:0;}   现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题。但是这个用法有一个致命伤,就是每次清除浮动的时候都需要增加一个空标签来使用。   这种做法如果在......

    2014-11-18
    16870
  • 人们为什么不爱看春晚了?

      过去,春晚是中国农历新年庆祝的一大亮点,家家户户都会围坐在电视机前,迎接新年的钟声。然而,近年来,越来越多的人似乎不再热衷于观看春晚,这引发了广泛的讨论。究竟是什么原因导致了这种变化?   首先,春晚的内容和节目形式已经发生了变化。最初于1983年首次亮相的春晚,以歌舞、小品和相声等传统表演形式为主。观众们期待着赵本山、陈佩斯等喜剧演员的小品和相声表演,这些节目成为了春晚的亮点。然而,随着时间的推移,春晚的内容变得越来越复杂,......

    2014-02-04
    19772
  • 日乒一姐石川佳纯退役

      石川佳纯于5月18日在东京举行了退役发布会,结束了她23年的乒乓球运动生涯。在发布会上,她还用中文向中国球迷表达了感谢,表示在中国比赛时有主场感觉,并感激中国球迷一直以来的支持。石川佳纯是日本著名乒乓球运动员,1993年2月23日出生于日本山口县,7岁开始打球,13岁被称为天才少女,在她最美好的青春年华,驰骋在乒乓球赛场上,为梦想付出行动。   作为日本女子乒坛的领军人物,石川佳纯以清纯的面容和高超的球技闻名于乒乓球界,在日本国内......

    2023-05-18
    7770
  • PHP封装数据库操作Model类示例

      数据库操作是产品开发中最常见的需求,封装一个PHP数据库操作Model类可以减少反复的写大量SQL语句,下面就为大家分享一个数据库操作Model类。 &lt;?php //引入配置文件 include "./config.php"; class Model { public $link;//存储连接对象 public $tableName = "";//存储表名 public $field =......

    2019-06-12
    15464
  • PHP图片验证码功能简单开发

      验证码是网站开发中常用的功能,可以保证用户提交数据和服务器的安全,验证码的形态也是千奇百怪,从传统的数字+字母,到拼图,再到找元素等等越来越复杂。   今天说一下用PHP原生开发方式如何写一个最常见的数字+字母图片验证码功能,过程非常简单。   首先创建验证码生成文件verify.php &lt;?php // 开启session session_start(); // 创建图片资源,宽高 $img = imagecreatetru......

    2014-08-02
    16170
  • 梅西圆梦世界杯冠军,职业生涯圆满无遗憾

      2022年卡塔尔世界杯落下了帷幕,阿根廷队以7:5艰难的战胜了法国队,获得了本届世界杯冠军。梅西还拿到了本届世界杯的最佳球员奖项。梅西在赛后激动的捧起并亲吻大力神杯,这一刻他终于圆了自己的世界杯冠军梦。   在赛前很多球迷预测法国队将会战胜阿根廷队卫冕本届冠军,因为从球员的阵容和状态来看,法国队的优势更明显一些。比赛的过程真的是一波三折,充满了跌宕起伏的戏剧性。阿根廷队一度场面占优,上半场梅西点球破门,随后迪马利亚进球,让阿根廷队......

    2022-12-19
    5460
  • 王力宏出轨招嫖人设崩塌,4亿豪宅曝光,好一个家徒四壁

      王力宏和李靓蕾离婚的事最近闹得沸沸扬扬,二人在微博上互骂,都指责对方的错误。根据种种的证据表明,这件事不光是简简单单的离婚,王力宏出轨招嫖的丑闻也被扒了出来,也坐实了多年前很多人对他的人品的质疑,王力宏多年来伪装成的老好人形象算是彻底崩塌了。   王力宏到底有多渣?其实多年前就有人报料出来了,只不过都被他用公关手段摆平了,并且当时王力宏事业发展如日中天,很多人都不相信那些报料。事实上在李靓蕾还没有成年时,王力宏就与其发生关系了......

    2021-12-22
    13200