表格内容过多时单行/多行显示

news2024/11/23 10:43:31

分析

单行多行显示涉及到 table-layout: fixed; 这个属性,默认状态下的属性值是 auto (自动表格布局),两种不同的属性值区别如下:

在这里插入图片描述

方法

我在设置表格内容单行/多行显示时采用的方法:

  1. table 添加的样式:
table {
  table-layout: fixed; /*后续设置单行、多行显示的基础*/
  word-break: break-all; /*保证纯字母数字也能完全展示*/
}

效果:

  • td不设置宽度的情况下,所有列均分宽度;
  • 所有的编号类、文字类内容都能全部展示;
    在这里插入图片描述
  1. 单行显示
    给td设置singleLine的类名
.singleLine {
	overflow: hidden;
  white-space: nowrap; /*文本不换行*/
  text-overflow: ellipsis; /*文本溢出时显示省略号*/
}
  1. 多行显示
    给td设置multiLine的类名
.multiLine {
	overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2; /*设置显示的行数*/
  -webkit-box-orient: vertical;
  word-break: break-all; /*使连续的字母或数字能够在换行时拆分*/
}

效果

这样设置的整体效果为:

  1. 之前每列未设置宽度的表格
    ● 每列均分整个表格的宽度;
    ● 所有内容默认全部展示(会换行但不会溢出);
    ● 表格宽度不会被撑开;

  2. 之前每列设置宽度的表格
    ● 以每列宽度为准,超出内容不会撑开该列;
    ● 所有内容默认全部展示(会换行但不会溢出);
    ● 表格宽度不会被撑开;

测试代码

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8" />
        <style type="text/css">
            table td:nth-child(2) {
                /* display:none; */
            }
            table.default {
                table-layout: auto; /*默认值就是auto*/
            }
            
            table.fixed {
                table-layout: fixed; /*后续设置单行、多行显示的基础*/
            }
            /* 方案测试 */
            .test {
                table-layout: fixed; /*后续设置单行、多行显示的基础*/
                word-break: break-all; /*保证纯字母数字也能完全展示*/
            }
            .singleLine {
                overflow: hidden;
                white-space: nowrap; /*文本不换行*/
                text-overflow: ellipsis; /*文本溢出时显示省略号*/
            }
            .multiLine {
                overflow: hidden;
	            text-overflow: ellipsis;
	            display: -webkit-box;
	            -webkit-line-clamp: 2; /*设置行数*/
	            -webkit-box-orient: vertical;
                word-break: break-all; /*使连续的字母或数字能够在换行时拆分*/
            }
        </style>
    </head>

    <body>
        <p style="color: red;">table1: table-layout:auto默认状态,每列设置宽度;内容超出宽度会被撑开;</p>
        <table class="default" border="1" width="100%">
            <tr>
                <td width="20%">第一列设置宽度为20%</td>
                <td width="80%"></td> 
            </tr>
            <tr>
                <td width="20%">10000000000000000000000</td>
                <td width="80%">数字测试</td>
            </tr>
            <tr>
                <td width="20%">fjdksljaiwuefwajkjkjjkjljkjlkjljpoif</td>
                <td width="80%">字母测试</td>
            </tr>
        </table>

        <br />
        <p style="color: red;">table2: table-layout: fixed;设置宽度,内容超过宽度不会被撑开</p>
        <table class="fixed" border="1" width="100%">
            <tr>
                <td width="20%">第一列设置宽度为20%</td>
                <td width="40%"></td>
                <td width="40%"></td>
            </tr>
            <tr>
                <td width="20%">So , I want to show a paragraph from database into a table cell.</td>
                <td width="40%">英文句子,td设置width,不加任何类</td>
                <td width="40%" rowspan="2">如果每列宽度固定,中英文句子不用加任何其他css就可以全部显示</td>
            </tr>
            <tr>
                <td width="20%">我是一大长串中文测试内容</td>
                <td width="40%">中文句子,td设置width,不加任何类</td>
                <td width="40%"></td>
            </tr>
            <tr>
                <td width="20%" class="multiLine">So , I want to show a paragraph from database into a table cell.</td>
                <td width="40%">为td设置width=“20%”,multiLine类名</td>
                <td width="40%">width的百分比不是整个table的</td>
            </tr>
            <tr>
                <td class="singleLine">So , I want to show a paragraph from database into a table cell.</td>
                <td width="40%">英文句子,singleLine类名,td不设width</td>
                <td width="40%" rowspan="2">中英文句子省略的情况下,不能为td设置宽度</td>
            </tr>
            <tr>
                <td class="multiLine">So , I want to show a paragraph from database into a table cell.</td>
                <td width="40%">英文句子,multiLine类名,td不设width</td>
                <td width="40%">100</td>
            </tr>
            <tr>
                <td width="20%">2903929484728907</td>
                <td width="40%">数字,不加类名</td>
                <td width="40%">会溢出</td>
            </tr>
            <tr>
                <td class="singleLine">2903929484728907</td>
                <td width="40%">数字,singleLine类名,td有width</td>
                <td width="40%" rowspan="2">纯数字,单行有无width都不影响,多行必须不设置width</td>
            </tr>
            <tr>
                <td class="multiLine">29039292829384903278675328642736497987484728907</td>
                <td width="40%">数字,multiLine类名</td>
                <td width="40%"></td>
            </tr>
            <tr>
                <td width="20%">EKAFDFDF0dfdfi30</td>
                <td width="40%">字母,不加类名</td>
                <td width="40%">会溢出</td>
            </tr>
            <tr>
                <td width="20%" class="singleLine">Iwanttoshowaparagraphfromdatabaseintoatablecell.</td>
                <td width="40%">字母,singleLine类名,td不设width</td>
                <td width="40%" rowspan="2">字母,情况同数字</td>
            </tr>
            <tr>
                <td class="multiLine">Iwanttoshowaparagraphfromdatabaseintoatablecell.</td>
                <td width="40%">字母,multiLine类名,td不设width</td>
                <td width="40%"></td>
            </tr>
        </table>

        <br />
        <p style="color: red;">table3:table-layout: auto; 默认状态,不设置宽度,整个表格会被横向撑开</p>
        <table class="default" border="1" width="100%">
            <tr>
                <td>So , I want to show a paragraph from database into a table cell.</td>
                <td>10000000</td>
                <td>100</td>
            </tr>
            <tr>
                <td>1000000000000000000000000000000000000000000000000000</td>
                <td>1000000000000000000000000000000000000000000000000000</td>
                <td>1000000000000000000000000000000000000000000000000000</td>
            </tr>
        </table>

        <br />
        <p style="color: red;">table4:table-layout: fixed; 每列不设置宽度,纯字母数字的内容(如编号)会溢出</p>
        <table class="fixed" border="1" width="100%">
            <tr>
                <td>So , I want to show a paragraph from database into a table cell.</td>
                <td>10000000</td>
                <td>100</td>
            </tr>
            <tr>
                <td>1000000000000000000000000000000000000000000000000000</td>
                <td>1000000000000000000000000000000000000000000000000000</td>
                <td>1000000000000000000000000000000000000000000000000000</td>
            </tr>
        </table>

        <br />
        <p style="color: red;">table5:table-layout: fixed; 每列不设置宽度,纯字母数字的内容(如编号)会溢出</p>
        <table class="test" border="1" width="100%">
            <tr>
                <td>So , I want to show a paragraph from database into a table cell.</td>
                <td>10000000</td>
                <td>100</td>
            </tr>
            <tr>
                <td class="multiLine">1000000000000000000000000000000000000000000000000000</td>
                <td>数字</td>
                <td>100</td>
            </tr>
            <tr>
                <td>fjkdsjfklsurieuwprudfslkjflsuepurwpirepwxnvzslkfjwuefiwejfl</td>
                <td>字母</td>
                <td>100</td>
            </tr>
        </table>

    </body>

</html>

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

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

相关文章

JS - 原型对象、原型链是什么

一 阅读掘金 https://juejin.cn/post/7007416743215759373 https://juejin.cn/post/7007416743215759373 二 阅读掘金小册原型知识点 原型 涉及面试题&#xff1a;如何理解原型&#xff1f;如何理解原型链&#xff1f; 当我们创建一个对象时 let obj { age: 25 }&#xff0…

设备太分散?如何一站式管理边缘 OS、K8s 和应用?

作者简介 张志龙&#xff0c;SUSE 大中华区资深解决方案架构师&#xff0c;CNCF 官方认证的 CKA&CKAD 工程师&#xff0c;深耕以 Kubernetes 为代表的云原生领域&#xff0c;具备丰富的架构设计、业务容器化改造和项目落地实践经验。 据 Gartner 预测&#xff0c;到 2025 年…

【GlobalMapper精品教程】053:打开dbf文件并生成有坐标系的shp数据

本文讲解在globalmapper汇总打开dbf文件并生成有坐标系的shp数据。 文章目录一、dbf文件解读二、打开dbf文件二、另存为shp文件一、dbf文件解读 我们可以通过Excel或FME等多种软件查看dbf的结构&#xff0c;字段有&#xff1a;Name&#xff0c;kind&#xff0c;Lat&#xff0c…

事理知识图谱

事理知识图谱能够有力第建模各类事件之间的演化关联关系为事理逻辑推理提供更好的数据基础。 事理图谱定义 事理知识图谱可以将文本中对事件以及事件之间的关系抽取并抽象出来&#xff0c;构建成一个有向图形式的事理知识库。在结构上&#xff0c;事理知识图谱是一个有向有环…

SparkSQL

第1章 SparkSQL 概述1.1 SparkSQL 是什么Spark SQL 是 Spark 用于结构化数据(structured data)处理的 Spark 模块。1.2 Hive and SparkSQLSparkSQL 的前身是 Shark&#xff0c;给熟悉 RDBMS 但又不理解 MapReduce 的技术人员提供快速上手的工具。Hive 是早期唯一运行在 Hadoop …

vue项目中引入字体包

问题&#xff1a; 项目开发过程中&#xff0c;因UI的显示要求&#xff0c;需要引入一些字体&#xff0c;那如何引入外部字体呢&#xff1f;很简单&#xff0c;只需要以下3步 一 下载对应的字体包文件&#xff0c;放置到我们的项目中 ​ 比如我需要PingFangSC的系列字体&#…

交叉编译 cJSON

交叉编译 cJSON 概述 JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。 cJSON 是 ANSI C 中超轻量级的 JSON 解析器。cJSON 旨在成为您可以完成任务的最简单的解析器。它是一个 C 文件和一个头文件。作为一个库&#xff0c;cJSON…

VR全景+汽车,打造汽车销售新模式

在国内汽车市场竞争越来越激烈的背景下&#xff0c;传统汽车、混动汽车、新能源汽车等各类汽车市场正在不断壮大&#xff0c;汽车行业企业必须抓住机遇、迎接挑战&#xff0c;而营销引流则是关键步骤之一。未来&#xff0c;汽车行业的营销方式将更加高效数字化&#xff0c;采用…

Python学习-----lambda式匿名函数

目录 前言&#xff1a; 1.什么是lambda函数 2.使用示例 &#xff08;1&#xff09;示例1&#xff1a;与def对比 &#xff08;2&#xff09;示例2&#xff1a;与三目运算符 &#xff08;3&#xff09;示例3&#xff1a;lambda作为参数传入其他函数 &#xff08;4&#xff…

linux环境中编译exosip2和osip2库

1 前言 在开发GB/T 28181信令服务或网关时&#xff0c;要使用SIP协议栈。其中一种熟悉的开源库就是exosiposip了。在windows环境中编译eXosip2和osip2比较简便&#xff1b;在linux中&#xff0c;默认方式下编译这2个库&#xff0c;也比较方便。如果要指定库的安装目录&#xf…

网安入门必备的12个kali Linux工具

kali Linux工具帮你评估 Web 服务器的安全性&#xff0c;并帮助你执行黑客渗透测试。 注意&#xff1a;这里不是所提及的所有工具都是开源的。 1. Nmap Nmap &#xff08; 网络映射器 &#xff09;是一款用于 网络发现 和 安全审计 的 网络安全 工具. 主机发现,端口扫描,版本…

mars3d基于vue3.0的widget使用

mars3d在vue3.0生态上开发了两个gis相关开源项目 mars3d-vue-example 和 mars3d-vue-project&#xff0c;在这两个项目中widget都是非常重要的一个模块。通过widget可以在复杂的场景下非常清晰的管理功能模块之间的互斥关系&#xff0c;管理内存&#xff0c;完成不同的功能模块…

ZBC通证月内已翻倍,Nautilus Chain 上线前夕的“开门红”

近日&#xff0c;Zebec Protocol生态通证ZBC迎来了大涨&#xff0c;据悉该通证月内最高涨幅接近了100%&#xff0c;为一众投资者、社区用户、Zepoch节点等带来了可观的回报&#xff0c;并为生态发展注入了十足的信心。我们看到&#xff0c;Zebec Protocol生态在近期宣布了“销毁…

D1s RDC2022纪念版开发板开箱评测及点屏教程

作者new_bee 本文转自&#xff1a;https://bbs.aw-ol.com/topic/3005/ 目录 芯片介绍开发板介绍RT-Smart用户态系统编译使用感想引用 1. 芯片介绍 RISC-V架构由于其精简和开源的特性&#xff0c;得到业界的认可&#xff0c;近几年可谓相当热门。操作系统方面有RT-Thread&am…

Kubernetes 如何通过ingress-nginx实现应用灰度发布?

在日常的工作中&#xff0c;我们会经常对应用进行发版升级&#xff0c;在互联网公司尤为频繁&#xff0c;主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新&#xff1a;依次进行新旧替换&#xff0c;直到旧的全部被替换为止。蓝…

FATFS函数浅谈 看完学会FATSFS,建议收藏

目录 一、注册工作区域 二、打开文件夹 三、读取文件夹 四、打开\新建一个文件 五、读取文件 六、写文件 七、移动文件指针 八、截断文件 九、刷新缓存消息 十、新建文件夹 十一、删除文件或文件夹 十二、重命名\移动文件或文件夹 十三、获取文件信息 十四、改变…

KNN算法及Python实现

0 建议学时 2学时 1 KNN算法 1.1 KNN原理 KNN&#xff1a;K Nearest Neighbors&#xff0c;即K个最近的邻居&#xff1b; 预测一个新值xxx&#xff0c;根据距离最近的K个点的类别来判断xxx属于哪一类。 算法核心要点&#xff1a; K值的选取非常重要&#xff1b; 距离公式…

山东大学电磁场与电磁波期末试题

文章目录一、电磁场的基本规律二、静态电磁场及其边值问题的解三、分离变量法四、均匀平面波的反射与透射五、时变电磁场与均匀平面波在无界空间中的传播六、导行电磁波七、电磁辐射往年真题回忆复习建议一、电磁场的基本规律 设在 x<0x<0x<0 处为真空&#xff0c;x&…

LeetCode分类刷题----回溯算法

回溯1.回溯问题77.组合216.组合总和|||17.电话号码的字母组合39.组合总和40.组合总和||131.分割回文串93.复原IP地址78.子集90.子集||491.递增子序列46.全排列47.全排列||51.N皇后37.解数独1.回溯问题 77.组合 思路&#xff1a; 回溯的本质是用一棵树来描述&#xff0c;用pat…

Gitee码云 操作

1&#xff1a;Git团队协作机制1.1&#xff1a;团队内协作1.2&#xff1a;跨团队协作2&#xff1a;Gitee码云 操作码云网址&#xff1a; https://githee.com/2.1&#xff1a;创建远程仓库2.2&#xff1a;远程仓库操作命令名称作用git remote -v查看当前所有远程地址别名git remo…