下面分几种情况看看width属性对实际展示效果的影响(情况有很多种,我这里只是挑选常见的几种来分析研究)

1.table的width超过td的width之和

<table border="1" style="width:900px">
   <tr>
      <td width="100px">我很正常</td>
      <td width="200px">我很正常</td>
      <td width="300px">我很正常</td>
   </tr>
</table>

可以看到table的宽度保持不变,td会按照各自width的值近似等比例的缩放来填充table的宽度。

2.table的width小于td的width之和

<table border="1" style="width:500px">
   <tr>
      <td width="100px">我很正常</td>
      <td width="200px">我很正常</td>
      <td width="300px">我很正常</td>
   </tr>
</table>

可以看到table的宽度保持不变,td会按照各自width的值近似等比例的缩放来适应table的宽度

3.当有的字段内容过长时

<table border="1" style="width:600px">
   <tr>
      <td width="100px">我很长长长长长长长长长长长长长长长长长长</td>
      <td width="200px">我很正常</td>
      <td width="300px">我很正常</td>
   </tr>
</table>

td的宽度不足以放得下内容时,文本内容会自动换行显示,td的宽度保持不变(antd也是这样显示的),但是这样可能会导致行高参差不齐,看上去不太美观

4.当有的字段内容过长且td不换行时

td{
   white-space: nowrap;
}

<table border="1" style="width:600px">
   <tr>
      <td width="100px">我很长长长长长长长长长长长长长长长长长长</td>
      <td width="200px">我很正常</td>
      <td width="300px">我很正常</td>
   </tr>
</table>

可以看到table的宽度保持不变,第一列宽度扩充为文本的宽度,后两列近似按比例缩放以适应table的宽度

5.当td的width不设值,即为auto时

<table border="1" style="width:600px">
   <tr>
      <td>我很长长长长长长长长长长长长长长长长长长</td>
      <td>我很正常</td>
      <td>我很正常</td>
   </tr>
</table>

可以看到table的宽度保持不变,td的宽度近似按照td中内容的宽度等比例分配

6.当td的宽度部分不设值时

<table border="1" style="width:600px">
   <tr>
      <td width="100px">我很长长长长长长长长长长长长长长长长长长</td>
      <td width="200px">我很正常</td>
      <td>我很正常</td>
   </tr>
</table>

可以看到table的宽度保持不变,第一列自动扩充为文本宽度,第二列保持自己所设的width值,第三列自适应为剩余宽度;

当剩余宽度不够放下文本内容时,

<table border="1" style="width:600px">
   <tr>
      <td width="100px">我很长长长长长长长长长长长长长长长长长长</td>
      <td width="200px">我很正常</td>
      <td>我稍微有点点长</td>
   </tr>
</table>

可以看到table的宽度保持不变第三列填充为自身文本宽度,同时第二列缩放为剩余宽度。

综合上述几种情况,可以看到td的宽度会根据实际的内容长度和table的宽度来进行动态调整的。

结合实际应用,再说说最近使用的antd的组件,列属性中有个width的属性,如果每列均不配置width属性的话,则是按照上一节中分析的第5种情况,及按照每列的内容来调整每列的宽度,如下图所示:

这样可以让table自己根据内容来自适应调整每列的宽度,

而当需要表头固定时,则要求需要指定 column 的 width 属性,否则列头和内容可能不对齐。

这是因为这种情况表头和表格内容分属于两个不同的table

这样就会导致按照各自的内容去自适应产生合适的每列宽度,由于表头和表体的内容不一致,就会导致每列的宽度不一致,也就是展示出来的不对齐,因此要指定width值,这样表头和表体就会按照相同的比例来分配,这样每列的宽度也就一样了,也就对齐了。

如果每列都设置width的话,就会整体按比例缩放,参照上一节第1和第2种

如果最后一列不设置width的值的话,如antd官方实例中那样,那就参照上一节中第3种(antd中内容过长会自动换行)和第6种情况

设置了width的列实际宽度为设置的值,最后一列会根据table的宽度自适应调整。

知道table中width属性对显示的影响后,不同情况下的展示效果也就都能解释的通了。

Table中width属性研究相关推荐

  1. html中visibility属性,(CSS) 不同浏览器对table中visibility属性显示的不同

    本文举例说明在不同浏览器对table中visibility属性显示的不同. 一.HTML代码 thth tdtd 二.不同浏览器的表示 选取了Chrome.FireFox.Edge.IE11分别测试, ...

  2. CSS3中width属性的width: calc(100% - 20px); 使用问题

    目的是动态改变宽度/高度的变化,适配问题. width: calc(100% - 20px); css3 的 calc()函数. 这里的意思是设置宽度比100%的宽度少20px. calc()函数用于 ...

  3. php中td的属性设置,html table表格是什么?table标签中各种属性的使用方法

    html table表格是什么? 首先让我们了解什么是表格,还有表格的作用 什么是table表格:由一些 被称之为 单元格的矩形框 按照从左到右从上到下的顺序排列到一起组成的 table表格的作用:以 ...

  4. html width字符数,HTML pre标签 width 属性

    HTML 标签 width 属性 定义和用法 HTML5 不支持 width 属性.请使用 CSS 代替. 在 HTML 4.01 中, 的 width 属性 已废弃. width 属性规定每行的最大 ...

  5. HTML中Table标签的属性及应用

    我们如何使用table表格: 定义表格:<table></table> 创建表头:<th></th> 创建表行:<tr></tr> ...

  6. css中 Span 元素的 width 属性无效果原因及多种解决方案

    先运行下程序看下: <span style='background-color:#336699;width:300px;'>123</span> 输出:123 可以看到 spa ...

  7. HTML中在table的td属性中嵌套table,为什么table居中?

    我在表格table的td中又嵌套了一个table,但是table中的东西会呈现垂直居中的状态,那么问题是什么,是其table继承了vertical-align: inherit属性 vertical- ...

  8. html中table设置字体,table的默认属性及css字体

    前几天一直忙着敲代码,没有时间整理内容 今天上了关于position的使用,position属性有五个值 1.inherit 从父元素继承 position 属性的值. 2.static 默认值.没有 ...

  9. ajax拿table里的th值,Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

最新文章

  1. 在LNMP或Nginx上配置NameCheap免费SSL证书
  2. 1165: 零起点学算法72——首字母变大写
  3. Sublime Text 2 代码片断
  4. python3 开发面试题(collections中的Counter)6.7
  5. django下创建APP
  6. 浅谈Java中的==和equals
  7. Linux中断子系统-通用框架处理
  8. flutter 获取设备屏幕大小
  9. 最近围绕生鲜社区团购的一些事
  10. 【删库不跑路】—Linux系统自杀实验 rm -rf /* 及如何抢救和预防
  11. mysql基础7-MYSQL连接查询
  12. 云创大数据荣获“南京实体经济十大优秀企业”
  13. python打造记账本_Python实现简单的记账本功能
  14. DH参数法 例题 机器人学
  15. xp计算机图标怎么设置在桌面显示,电脑系统是XP的,界面的“我的电脑”图标不知怎么变成快捷方式了...
  16. Figma又崩了,但我们P事没有
  17. Linux环境下部署Dubbo 监控中心
  18. 大学生web前端期末大作业实例代码 (1500套,建议收藏) HTML+CSS+JS
  19. b站直播消费记录爬取
  20. 高通MSM8953 LK阶段配置使用I2C8

热门文章

  1. 微信小程序 一键已读功能实现
  2. aws iam 使用keycloak集成实现saml认证登录aws控制台
  3. C#基于Emgucv编写的图像识别软件,内包含自己编辑控件库,优化识别效率比传统匹配方法要快
  4. kettle中止是怎么用的_kettle是什么意思_kettle怎么读_kettle翻译_用法_发音_词组_同反义词_(烧水用的)壶-新东方在线英语词典...
  5. 【学海】中位数(Median)的介绍以及如何在不同条件下计算中位数
  6. 选课策略——0-1整数规划
  7. 阿里云国际站:ecs提示异地登录如何查看在哪里登录的?
  8. 《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析
  9. Chrome 浏览器全屏截图
  10. java 获取int长度_Java中获取基本数据类型的长度