CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

news2025/1/12 12:16:42

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

  • 1. div变块级设置
    • 1.1 先看不设置的效果
    • 1.2 再看设置之后的效果
  • 2. 解决 table 中 td 内容过长问题
    • 2.1 CSS实现(文字溢出控制td显示字数,显示省略号)
      • 2.1.1 先看效果
      • 2.1.2 实现代码
      • 2.1.3 可能会遇到的问题
        • 2.1.3.1 解决text-overflow不生效的问题
        • 2.1.3.2 解决在table 设置每列等宽table-layout: fixed;后, td设置宽度无效
    • 2.2 鼠标放上去显示完整内容
      • 2.2.1 使用 title 属性(直接td上添加title属性)
      • 2.2.2 使用 title 属性(使用 js 添加title属性)
        • 2.2.2.1 直接 js 实现
        • 2.2.2.2 使用 jQuery 实现
        • 2.2.2.3 上面 js、jQuery 完整代码
      • 2.2.3 通过 td:hover
        • 2.2.3.1 换行展示
        • 2.2.3.2 不换行展示

1. div变块级设置

1.1 先看不设置的效果

  • 如下:
    在这里插入图片描述

1.2 再看设置之后的效果

  • 语句:
    style="display: flex;"
    
  • 效果
    在这里插入图片描述
  • 代码:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div style="display: flex;">
            <div style="background-color: aqua; width: 100px; margin: 0px 20px;">我的div1</div>
            <div style="background-color: blueviolet; width: 100px;">我的div2</div>
        </div>
    </body>
    </html>
    

2. 解决 table 中 td 内容过长问题

2.1 CSS实现(文字溢出控制td显示字数,显示省略号)

2.1.1 先看效果

  • 不加限制效果:
    在这里插入图片描述
  • 加上限制效果:
    在这里插入图片描述

2.1.2 实现代码

  • 核心代码如下:

        <style>
            table{
                background-color: cadetblue;
                height: 150px;
                width: 300px;
     
                /* 下面是核心代码 */
                table-layout:fixed;
            }
            th,td{
                border: 1px solid;
                text-align: center;
    
                /* 下面是核心代码 */
                word-break:keep-all;
                white-space:nowrap;
                overflow:hidden;
                text-overflow:ellipsis;
            }
    
        </style>
    
  • 完整代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            table{
                background-color: cadetblue;
                height: 150px;
                width: 300px;
     
                /* 下面是核心代码  如果不设置此属性,在table表格不生效*/
                table-layout:fixed;
            }
            th,td{
                border: 1px solid;
                text-align: center;
    
                /* 下面是核心代码 */
                word-break:keep-all;
                white-space:nowrap;  /* 不换行 */
                overflow:hidden;  /* 隐藏 */
                text-overflow:ellipsis;   /* 使用...代替 */
            }
    
        </style>
    </head>
    <body>
        <table cellspacing="0">
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                    <th>粉丝</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td style="width: 200px;">
                        <div>
                            小李fffffffffffffffff
                        </div>
                    </td>
                    <td>20</td>
                    <td></td>
                    <td>
                        天津粉丝
                        <span class="my_hover_number">350</span>
                    </td>
                </tr>
                <tr>
                    <td>
                        小王呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜
                    </td>
                    <td>28</td>
                    <td></td>
                    <td>
                        全国粉丝
                        <div class="jiu_jiu">999+</div>
                    </td>
                </tr>
                <tr>
                    <td>
                       
                        <div style="display: flex;">反反</div>
                        <a>
                            小赵ddddddddddddddddgdagagaafg
                        </a>
           
                    </td>
                    <td>31</td>
                    <td></td>
                    <td>北京粉丝</td>
                </tr>
    
            </tbody>
        </table>
    
    </body>
    </html>
    

2.1.3 可能会遇到的问题

2.1.3.1 解决text-overflow不生效的问题
  • 第一:先检查下面代码是否都有设置,要搭配使用,否则不生效
    table{
        /* 下面是核心代码 */
        table-layout:fixed;
    }
    th,td{
        /* 下面是核心代码 */
        word-break:keep-all;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    
  • 第二:如果样式代码没问题,看td里是否有些div,如果要控制的字体在div里,也不生效,写的span标签里可以生效或者其他标签。
2.1.3.2 解决在table 设置每列等宽table-layout: fixed;后, td设置宽度无效
  • 我这里设置td的宽度是可以生效的,但是有的无论怎么设置都不生效,碰到这种情况,别想太多,直接按下面的解决就行,解决代码如下(col里的宽度自己调整):
    <col style="width: 90px;"/>
    <col>
    <col/>
    <col style="width: 10px"/>
    
    在这里插入图片描述

2.2 鼠标放上去显示完整内容

2.2.1 使用 title 属性(直接td上添加title属性)

  • 使用title属性解决,如下:
    <td title="小王呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜">
        小王呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜
    </td>
    
    在这里插入图片描述

2.2.2 使用 title 属性(使用 js 添加title属性)

2.2.2.1 直接 js 实现
  • 效果如下:
    在这里插入图片描述

  • 代码如下:

    //js给所有td加上悬浮显示(title)
    function addTitleJs(){
        var tbody = document.getElementById("myTbody");
        var rows = tbody.rows;
        for(var i =0;i<rows.length;i++){
            for(var j = 0; j<rows[i].cells.length; j++ ){    // 遍历该行的 td
                // alert("第"+(i+1)+"行,第"+(j+1)+"个td的值:"+rows[i].cells[j].innerHTML+"。");           // 输出每个td的内容
                var td = rows[i].cells[j];
                var tdText = td.innerText;
                rows[i].cells[j].setAttribute("title",tdText); 
            }
        }
    }
    
    <tbody id="myTbody">
       <tr>
           <td onmouseover="addTitleJs()">
               小李高三高三高三高三高三fffffffffffffffff
           </td>
       </tr>
    </tbody>
    
2.2.2.2 使用 jQuery 实现
  • 效果如下:
    在这里插入图片描述
  • 实现代码如下:
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
    
    <script>
        //jquery给所有td加上悬浮显示(title)
        function addTitleJquery() {
            $("#myTbody tr td").each(function () {
                $(this).attr("title", $(this).text());
                // $(this).css("cursor", 'pointer');
            });
        }
    </script>
    
    <tbody id="myTbody">
        <tr>
            <td onmouseover="addTitleJquery()">
                小李高三高三高三高三高三fffffffffffffffff
            </td>
        </tr>
    </tbody>
    
2.2.2.3 上面 js、jQuery 完整代码
  • 如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
        
        <style>
            table{
                background-color: cadetblue;
                height: 150px;
                width: 300px;
     
                /* 下面是核心代码 */
                table-layout:fixed;
            }
            th,td{
                border: 1px solid;
                text-align: center;
    
                /* 下面是核心代码 */
                word-break:keep-all;
                white-space:nowrap;
                overflow:hidden;
                text-overflow:ellipsis;
            }
            
            /* 鼠标放上去时 单元格设置背景色 */
            td:hover{
                background-color: blueviolet;
            }
    
        </style>
    
    
        <script>
    
            //js给所有td加上悬浮显示(title)
            function addTitleJs(){
                var tbody = document.getElementById("myTbody");
                var rows = tbody.rows;
                for(var i =0;i<rows.length;i++){
                    for(var j = 0; j<rows[i].cells.length; j++ ){    // 遍历该行的 td
                        // alert("第"+(i+1)+"行,第"+(j+1)+"个td的值:"+rows[i].cells[j].innerHTML+"。");           // 输出每个td的内容
                        var td = rows[i].cells[j];
                        var tdText = td.innerText;
                        rows[i].cells[j].setAttribute("title",tdText); 
                    }
                }
            }
    
            //jquery给所有td加上悬浮显示(title)
            function addTitleJquery() {
                $("#myTbody tr td").each(function () {
                    $(this).attr("title", $(this).text());
                    // $(this).css("cursor", 'pointer');
                });
            }
    
        </script>
    </head>
    <body>
        <table cellspacing="0">
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                    <th>粉丝</th>
                </tr>
            </thead>
            <col style="width: 90px;"/>
    		<col>
    		<col/>
            <col style="width: 10px"/>
            <tbody id="myTbody">
                <tr>
                    <td onmouseover="addTitleJquery()">
                        小李高三高三高三高三高三fffffffffffffffff
                    </td>
                    <td>20</td>
                    <td></td>
                    <td>
                        天津粉丝
                    </td>
                </tr>
                <tr>
                    <td>
                        小王呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜
                    </td>
                    <td>28</td>
                    <td></td>
                    <td>
                        全国粉丝
                    </td>
                </tr>
                <tr>
                    <td>
                        小赵ddddddddddddddddgdagagaafg
                    </td>
                    <td>31</td>
                    <td></td>
                    <td>北京粉丝</td>
                </tr>
    
            </tbody>
        </table>
    
    </body>
    </html>
    

2.2.3 通过 td:hover

2.2.3.1 换行展示
  • 即:鼠标放上去之后换行展示,效果如下:
    在这里插入图片描述

  • 代码实现如下:

    <style>
        table{
            background-color: cadetblue;
            height: 150px;
            width: 300px;
    
            /* 下面是核心代码 */
            table-layout:fixed;
        }
        th,td{
            border: 1px solid;
            text-align: center;
    
            /* 下面是核心代码 */
            /* word-break:keep-all; */
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
    
        table td:hover{ 
            white-space:normal; 
            overflow:auto;
        }
    
    </style>
    
2.2.3.2 不换行展示
  • 效果如下(感觉还是title好些):
    在这里插入图片描述

  • 代码如下(在上面3点(…)代码保持不变的基础上优化):

    <td>
        小李打发发噶发发地方fffffffffffffffff
        <span class="td_tips">
            小李打发发噶发发地方fffffffffffffffff
        </span>
    </td>
    
    <style>
        table{
           background-color: cadetblue;
           height: 150px;
           width: 300px;
    
           /* 下面是核心代码 */
           table-layout:fixed;
       }
       th,td{
           border: 1px solid;
           text-align: center;
    
           /* 下面是核心代码 */
           word-break:keep-all;
           white-space:nowrap;
           overflow:hidden;
           text-overflow:ellipsis;
       }
            
        td{
            position:relative; 
            z-index:2;
        }
        td:hover{
            z-index:5;
            overflow: visible;
        }
        td:hover .td_tips  { 
            display: block;
            position: absolute;
            top: 10px; 
            background-color: rgb(98, 2, 2);
            color: royalblue;
        }
    </style>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1170443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ssm在线互助答疑系统-计算机毕设 附源码 20862

ssm在线互助答疑系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#…

(免费领源码)java#ssm#mysql 宠物领养系统08465-计算机毕业设计项目选题推荐

目 录 摘要 1 绪论 1.1课题背景及意义 1.2研究现状 1.3ssm框架介绍 1.3论文结构与章节安排 2 宠物领养系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 …

LeetCode 421. 数组中两个数的最大异或值

原题链接&#xff1a;https://leetcode.cn/problems/maximum-xor-of-two-numbers-in-an-array/description/?envTypedaily-question&envId2023-11-04 题目分析 异或且时间复杂度在nlogn内第一反应想到字典树&#xff0c;扫一遍存进字典树&#xff0c;然后遍历每个数&…

CAM模型可视化(可解释)

模型的可解释性问题一直是个关注的热点。注意&#xff0c;本文所说的“解释”&#xff0c;与我们日常说的“解释”内涵不一样&#xff1a;例如我们给孩子一张猫的图片&#xff0c;让他解释为什么这是一只猫&#xff0c;孩子会说因为它有尖耳朵、胡须等。而我们让CNN模型解释为什…

yolov5简易使用

1.环境配置 从github上下载好yolov5源码后&#xff0c;根据requirement文件配置环境&#xff0c;使用conda新建一个仿真环境&#xff0c;接着使用 pip install -r requirements.txt 来安装环境&#xff0c;安装后首先运行detect.py 发现安装后的环境不能使用&#xff0c;报…

windows10系统-17-文献管理软件

参考诸多文献管理软件的优劣比较如何&#xff1f;你有哪些使用心得&#xff1f; 参考我愿称之为目前最好用的文献管理和阅读软件&#xff01;readpaper 1 文献总结 文献总结是非常重要的一项技能&#xff0c;不知道大家看完文献后有没有总结文献的习惯&#xff0c;有的话那挺…

【中国知名企业高管团队】系列57:康佳KONKA

今天开始&#xff0c;华研荟为大家介绍中国电视行业的知名企业&#xff0c;接下来三天介绍位于深圳的电视三巨头&#xff0c;这三巨头以电视机研发、生产和销售起步&#xff0c;2000左右生产过非智能手机&#xff0c;但是在互联网时代被小米们抢走了电视和手机的很大一部分市场…

大数据之LibrA数据库系统告警处理(ALM-12016 CPU使用率超过阈值)

告警解释 系统每30秒周期性检测CPU使用率&#xff0c;并把实际CPU使用率和阈值相比较。CPU使用率默认提供一个阈值范围。当检测到CPU使用率连续多次&#xff08;可配置&#xff0c;默认值为10&#xff09;超出阈值范围时产生该告警。 平滑次数为1&#xff0c;CPU使用率小于或…

The world,The Matrix and Big Model

黑客帝国&#xff0c;打开了The Matrix与现实世界的关系。今天&#xff0c;现实版的“The Matrix”已经开始逐渐浮现。ChatGPT&#xff0c;打开了这个入口。"The Matrix" 变成了“Big Model”。话不多说&#xff0c;上图。人类借助“Big Model”离开“洞穴”。 人与T…

2023年【危险化学品经营单位安全管理人员】复审考试及危险化学品经营单位安全管理人员模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员复审考试考前必练&#xff01;安全生产模拟考试一点通每个月更新危险化学品经营单位安全管理人员模拟考试题库题目及答案&#xff01;多做几遍&#xff0c;其实通过危险化学品经营单位…

ASO优化之iOS应用关键词的优化技巧2

关键词优化始终必须包括由App Store算法索引的所有元数据元素&#xff0c;所以我们要在关键词字段方面与其他元数据相结合。另外&#xff0c;确保转化率优化策略&#xff0c;是适合我们的关键词策略的。 1、每个关键词只能使用一次。 Apple的算法无论我们使用的频率如何&#…

加密的手机号,如何模糊查询?

前几天&#xff0c;知识星球中有位小伙伴&#xff0c;问了我一个问题&#xff1a;加密的手机号如何模糊查询&#xff1f; 我们都知道&#xff0c;在做系统设计时&#xff0c;考虑到系统的安全性&#xff0c;需要对用户的一些个人隐私信息&#xff0c;比如&#xff1a;登录密码…

基于 NGram 分词,优化 Es 搜索逻辑,并深入理解了 matchPhraseQuery 与 termQuery

基于 NGram 分词&#xff0c;优化 Es 搜索逻辑&#xff0c;并深入理解了 matchPhraseQuery 与 termQuery 前言问题描述排查索引库分词&#xff08;发现问题&#xff09;如何去解决这个问题&#xff1f;IK 分词器NGram 分词器使用替换 NGram 分词器后进行测试matchPhraseQuery 查…

vivado布局分析

1、高亮显示布局 1. 在“ Netlist ” &#xff08; 网表 &#xff09; 窗口中 &#xff0c; 选择要分析的层级。 2. 从弹出菜单中 &#xff0c; 选择“ Highlight Leaf Cells ” → “ Select a color ” &#xff08; 高亮叶节点单元 > 选择颜色 &#xff09; 。 3. …

【C语法学习】9 - fputs()函数

文章目录 1 函数原型2 参数3 返回值4 输出机制5 比较6 示例6.1 示例16.2 示例2 1 函数原型 fputs()&#xff1a;将str指向的内存空间中存储的字符串发送至指定流stream&#xff0c;函数原型如下&#xff1a; int fputs(const char *str, FILE *stream)2 参数 fputs()函数有两…

初谈Linux-Linux环境搭建(阿里云免费服务器+xshell)

文章目录 前言Linux环境搭建结尾 前言 Linux is not unix 本篇文章小编初谈Linux并搭建Linux环境&#xff08;阿里云免费服务器shell&#xff09; Linux Linux是一个开源的操作系统 环境搭建 1.点击阿里云ECS免费学生服务器 2.注册后完成学生认证 3.购买云服务器&#xf…

超详细shell学习笔记

shell笔记 一、Linux下的shell与内核1 什么是Shell?2 linux启动过程3 shell编程 二、变量与变量应用1 什么是变量&#xff1f;2 变量分类3 变量赋值格式4.变量命名方式5.变量声明6.变量引用7.变量清除8.变量只读9 内部参数变量10 常见环境变量11 变量应用14 字符串长度与截取1…

重生奇迹mu下载后仅仅只是挂机吗?

挂挂机、聊聊天&#xff0c;打打怪&#xff0c;如此简单、轻松的游戏或许有&#xff0c;但绝对不是重生奇迹mu&#xff01;因为重生奇迹mu挂机也不是那么容易&#xff0c;即便是多名高端玩家组队挂机&#xff0c;也有可能是全队惨灭&#xff0c;这样的情况时常发生在游戏中。 …

echarts 简单渐变折线图

渐变颜色多个折线图 import * as echarts from echarts/core // 看个人项目echart引入方式 options: {tooltip: {trigger: axis},yAxis: {type: value,name: 能耗&#xff1a;标准煤kg},legend: {icon: circle,itemHeight: 8,itemWidth: 8,top: 1%,left: center// selectedMo…

什么是机器学习中的正则化?

1. 引言 在机器学习领域中&#xff0c;相关模型可能会在训练过程中变得过拟合和欠拟合。为了防止这种情况的发生&#xff0c;我们在机器学习中使用正则化操作来适当地让模型拟合在我们的测试集上。一般来说&#xff0c;正则化操作通过降低过拟合和欠拟合的可能性来帮助大家获得…