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

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.mfbz.cn/a/116303.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Bytedance揭秘OpenAI大模型: GPT-3到GPT-4进化路径

文章目录 探秘GPT-3到GPT-4进化之路1、SFT&#xff1a;早期GPT进化的推动者2、RLHF和SFT&#xff1a;编码能力提升的功臣3、代码加入预训练&#xff0c;对推理帮助最大4、“跷跷板”现象 论文地址项目链接Reference GPT-Fathom: Benchmarking Large Language Models to Deciphe…

基于Qt Designer 操作教程

​本章将简介使用 Qt Creator 里自带的 Qt Designer,使用 Qt Designer 比较方便的构造 UI 界面。特点是方便布局,比较形象。 ## 使用 UI 设计器开发程序 在这小节里我们继续学习如何使用 Qt Designer 开发程序,Qt Designer 是属于 Qt Creator 的一个功能而已,大家不要搞混…

window10 mysql8.0 修改端口port不生效

mysql的默认端口是3306&#xff0c;我想修改成3307。 查了一下资料&#xff0c;基本上都是说先进入C:\Program Files\MySQL\MySQL Server 8.0这个目录。 看看有没有my.ini&#xff0c;没有就新建。 我这里没有&#xff0c;就新建一个&#xff0c;然后修改port&#xff1a; […

使用Renesas Flash Programmer(RFP)修改Option Byte及刷写程序

文章目录 前言配置Project修改OPBT程序刷写其他操作总结 前言 瑞萨RH850 P1H-C系列&#xff0c;在之前不知道OPBT对程序影响这么大&#xff0c;导致意外操作了其中的寄存器&#xff0c;板子锁死&#xff0c;不能再次刷写程序。本文记录下使用RFP工具刷写Option Byte需要注意的…

最新Ai系统ChatGPT程序源码+以图生图+Dall-E2绘画+支持GPT4+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

怎样做好金融投资翻译

我们知道&#xff0c; 金融投资翻译所需的译文往往是会议文献、年终报表、信贷审批等重要企业金融资料&#xff0c;其准确性事关整个企业在今后一段时期内的发展战略与经营成效。尤其像年报&#xff0c;对于上市公司来说更是至关重要的。那么&#xff0c;怎样做好金融投资翻译&…

【漏洞复现】Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、深度利用1、反弹Shell 说明内容漏洞编号CVE-2017-5645漏洞名称Log4j Server …

算法:Java构建二叉树并迭代实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类&#xff1a; // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

【C语言】扫雷游戏的一步一步的实现

文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 ⽂件结构设计 二、扫雷游戏代码实现总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游…

HTTPS的加密方式超详细解读

在了解https的加密方式之前&#xff0c;我们需要先行了解两个特别经典的传统加密方式&#xff1a; 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称&#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…

运维知识点-Docker从小白到入土

Docker从小白到入土 安装问题-有podmanCentos8使用yum install docker -y时&#xff0c;默认安装的是podman-docker软件 安装docker启动dockeryum list installed | grep dockeryum -y remove xxxx安装Docker安装配置下载安装docker启动docker&#xff0c;并设置开机启动下载所…

企业级SpringBoot单体项目模板 —— 使用 AOP + JWT实现登陆鉴权

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot、企业级、项目模板☀️每日 一言&#xff1a;没学会走就学跑从来都不是问题&#xff0c;要问问自己是不是天才&#xff0c;如果不是&#xff0c;那就要一步步来 文章目录 使用JWT实现…

C语言之动态内存管理实现通讯录(完整版)

我们在之前的博客中写过静态版的通讯录&#xff0c;我们今天来写一个动态版的&#xff0c;不需要规定它到底需要多大空间&#xff0c;只要还有内存&#xff0c;我们都可以存放的下&#xff01;同时&#xff0c;函数实现原理&#xff0c;我在通讯录静态版的博客里做了详细的讲解…

当Dubbo遇到高并发:探究流量控制解决方案

系列文章目录 面试Dubbo &#xff0c;却问我和Springcloud有什么区别&#xff1f; 超简单&#xff0c;手把手教你搭建Dubbo工程&#xff08;内附源码&#xff09; 【收藏向】从用法到源码&#xff0c;一篇文章让你精通Dubbo的SPI机制 Dubbo最核心功能——服务暴露的配置、使用…

VSCode 设置平滑光标

1.点击左下角的设置按钮&#xff0c;再点击设置 2.点击文本编辑器&#xff0c;点击光标&#xff0c;勾选控制是否启用平滑插入动画。 3.随便打开一个文件&#xff0c;上下左右移动光标时&#xff0c;会发现非常的流畅。 原创作者&#xff1a;吴小糖 创作时间&#xff1a;2023…

华为RS设备状态及接口配置命令

1、查看硬件信息 ①查看序列号 查看整机序列号 display esn display sn ②、查看功率 电源功率 display power 查看光模块功率 display transceiver interface gigabitethernet 1/0/0 verbose ③、查看风扇 display fan ④、查看温度 display temperature all ⑤、查看硬…

安全防御——二、ENSP防火墙实验学习

安全防御 一、防火墙接口以及模式配置1、untrust区域2、trust区域3、DMZ区域4、接口对演示 二、防火墙的策略1、定义与原理2、防火墙策略配置2.1 安全策略工作流程2.2 查询和创建会话 3、实验策略配置3.1 trust-to-untrust3.2 trust-to-dmz3.3 untrust-to-dmz 三、防火墙的区域…

ssh登录界面变成vim提示,进不去系统

是ubuntu系统 使用远程连接root&#xff0c;进去后发现界面变成vim编辑器的介绍界面了 使用普通用户登录 查询用户的登录shell是不是有问题 sudo vim /etc/passwd 发现用户shell变成了vim编辑器 修改为/bin/bash就可以正常登录了 重新登录测试就正常了

【Linux】 man命令使用

介绍 man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思&#xff0c;它是单词manual的缩写&#xff0c;即使用手册的意思。 man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是&#xff0c;不仅可以查看Lin…

【计算机网络实验/wireshark】tcp建立和释放

wireshark开始捕获后&#xff0c;浏览器打开xg.swjtu.edu.cn&#xff0c;网页传输完成后&#xff0c;关闭浏览器&#xff0c;然后停止报文捕获。 若捕获不到dns报文&#xff0c;先运行ipconfig/flushdns命令清空dns缓存 DNS报文 设置了筛选条件&#xff1a;dns 查询报文目的…