[TimLinux] JavaScript table的td内容超过宽度缩为三个点

1. 思路

  • CSS控制td内容自动缩为三个点
  • JS控制鼠标悬浮显示td全部内容

2. 实现

HTML代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Table/td自动隐藏内容</title>
    <link rel="stylesheet" href="my.css" />
</head>
<body>
    <table id="idMyTable">
    <tr>
        <td>这是一个正常显示的内容</td>
        <td>这是一个自动隐藏超长文本内容的内容,剩下的内容将根据款冬自动隐藏,功能能够正常执行。</td>
    </tr>
    </table>
    <script type="application/javascript" src="my.js"></script>
</body>
</html>

CSS代码:

table {
    width: 400px;
    border-collapse: collapse; /* 为表格设置合并边框模型 */
    table-layout: fixed; /* 设置表格布局算法,只有设置这个值后面的td属性才有效 */
}

td {
    border: 1px solid blue;
    word-break: keep-all; /*在恰当的断字点进行换行 */
    white-space: nowrap; /* 规定段落中的文本不进行换行 */
    overflow: hidden; /* 当内容溢出元素框时发生的事情 */
    text-overflow: ellipsis; /* 当文本溢出包含元素时发生的事情, ellipsis含义为省略号 */
}

JS代码:

window.onload = function () {
    var allTds = document.getElementsByTagName(‘td‘);
    for (var i = 0; i < allTds.length; i++) {
        var td = allTds[i];
        td.onmouseover = function (ev) {
            if (this.clientWidth < this.scrollWidth) {
                this.setAttribute(‘title‘, this.textContent);
            }
        };
        td.onmouseleave = function (ev) {
            this.removeAttribute(‘title‘);
        };
    }
};

3. 效果

原文地址:https://www.cnblogs.com/timlinux/p/9532939.html

时间: 2024-11-08 15:44:32

[TimLinux] JavaScript table的td内容超过宽度缩为三个点的相关文章

jquery遍历table tr td内容

$("#result").find("tr").each(function () { $(this).find("td").each(function () { if ($(this).text().indexOf("惠") > 0) { var m = $(this).text().toString(); $(this).css("width", "165px"); $(this

当Table中td内容为空时,显示边框的办法

原文:当Table中td内容为空时,显示边框的办法 1111111111111 目录 定义和用法 实例 浏览器支持 可能的值 定义和用法 说明 实例 浏览器支持 可能的值 相关页面 1. 在 table的css里面加: border-collapse:collapse; 在 td 的css里面加:      empty-cells:show; 2 .最简单的就是 在TD里写个  说明: border-collapse设置或检索表格的行和单元格的边是合并在一起还是按照标准的HTML样式分开. 定义

table中td内容过长 省略号显示

首先设置 css样式: table { table-layout: fixed;} HTML中的table代码: <tr> <th class="col-md-1">用户ID</th> <th class="col-md-1">用户名</th> <th class="col-md-1">联系电话</th> <th class="col-md-1&q

span 文本内容超过宽度自动换行

span{word-break:normal; width:auto; display:block; white-space:pre-wrap;word-wrap : break-word ;overflow: hidden ;} white-space -- 通过HTML文档的源代码的排版方式控制页面显示文本的排版方式 取值: normal | pre | nowrap | pre-wrap | pre-line | inherit normal: 正常无变化(默认处理方式.文本自动处理换行.

内容超过宽度后显示省略号

<div class="demo">让我们荡起双桨,小船儿推开波浪,海面倒映着美丽的白塔,四周环绕着绿树红墙!</div> <style> .demo{ width:50px; border:1px solid pink; white-space:nowrap; text-overflow:ellipsis; overflow: hidden; } </style> 显示如下:

css控制table的td宽度

今天发现即使设置table的td.th宽度,仍是不管用,是根据table的td的内容来适应宽度,导致其他的th.td丢失. 下图就是浏览器渲染的table,导致缺失"端口"这一列,因为"设备名称"中的td内容太长导致.代码: <table width="100%" border="0" cellspacing="0" cellpadding="0" class="tabl

CSS3.0(0):text-overflow使用文字超多div的宽度或超过在table中&lt;td&gt;

关键字:text-overflow:ellipsis 语法:text-overflow:clip | ellipsis 取值 clip:默认值.不显示省略标记(...),而是简单的裁切. ellipsis: 当对象内文本溢出时显示省略标记(...). 可惜text-overflow 还只是ie的私有属性而已,也没被收录到w3c标准里. 如果想让某个容器(div或者li或者...块级元素)显示一行文字,当文字内容过多时,不换行,而是出现... 这样写:例如 1 <!DOCTYPE html PUB

table调整td宽度整理-完美解决--费元星前端

个人整理例子,留下做个备份 最终重要的几句话 1.限制td宽度 <colgroup> <col width="27%"/><!-- 海关代码 --> <col width="22%" /><!-- 海关名称 --> <col width="22%" /> <col width="20%" /> <col /> </colgro

双击Table表格td变成text修改内容

//先不多说这里上我的页面 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <title>双击td变成text文本框</title> 7 <link rel="