表格单元格宽度的计算方式主要分为两种方式:固定表格布局、自动表格布局,这个经常写css的人应该还是知道的,但是我们经常会发现给表格列定了宽度不起作用,又或是没有定宽度渲染出来的却是正常的吗,下面就来介绍下这两个方式具体是怎么计算渲染的。
先设定几个通用的变量:
tableWidth=表格宽度=100%
tableBorderWidth=表格左右边框宽度
tdBorderWidth=所有列左右边框宽度和(合并的边框算1px)
tdPadding=所有列左右内填补和
tdWidth=所有定义了width的列的宽度和
tdLength=列个数
一、固定表格布局,表格添加table-layout:fixed
ps:在固定表格布局中,表格列的宽度与列内容多少无关,只与表格宽度、列宽度、表格左右边框、列左右边框、列左右内填补有关
通过使用固定表格布局,用户代理在接收到第一行后就可以显示表格,即只有第一行的宽度才会起作用
width为auto的列的宽度(即未定义width的列的宽度,如果计算结果为负数则为0)= (tableWidth-tableBorderWidth-tdBorderWidth-tdPadding-tdWidth)/tdLength
1、所有th宽度未定义
每列的宽度通过表格宽度平均分配
网友评论 |
---|