gridlayout布局特点(gridlayout布局单元格宽度设置)

gridlayout布局特点(gridlayout布局单元格宽度设置)表格单元格宽度的计算方式主要分为两种方式 固定表格布局 自动表格布局 这个经常写 css 的人应该还是知道的 但是我们经常会发现给表格列定了宽度不起作用 又或是没有定宽度渲染出来的却是正常的吗 下面就来介绍下这两个方式具体是怎么计算渲染的 先设定几个通用的变量 tableWidth 表格宽度 100 tableBorderW 表格左右边框宽度

大家好,我是讯享网,很高兴认识大家。



表格单元格宽度的计算方式主要分为两种方式:固定表格布局、自动表格布局,这个经常写css的人应该还是知道的,但是我们经常会发现给表格列定了宽度不起作用,又或是没有定宽度渲染出来的却是正常的吗,下面就来介绍下这两个方式具体是怎么计算渲染的。

先设定几个通用的变量:

  • tableWidth=表格宽度=100%
  • tableBorderWidth=表格左右边框宽度
  • tdBorderWidth=所有列左右边框宽度和(合并的边框算1px)
  • tdPadding=所有列左右内填补和
  • tdWidth=所有定义了width的列的宽度和
  • tdLength=列个数

ps:在固定表格布局中,表格列的宽度与列内容多少无关,只与表格宽度、列宽度、表格左右边框、列左右边框、列左右内填补有关

通过使用固定表格布局,用户代理在接收到第一行后就可以显示表格,即只有第一行的宽度才会起作用

width为auto的列的宽度(即未定义width的列的宽度,如果计算结果为负数则为0)= (tableWidth-tableBorderWidth-tdBorderWidth-tdPadding-tdWidth)/tdLength

1、所有th宽度未定义

每列的宽度通过表格宽度平均分配

2、所有th都定了宽度,同时所有列宽度之和小于表格宽度(tableBorderWidth+tdBorderWidth+tdPadding+tdWidth <= tableWidth)

每列的宽度通过总宽度平均分配;表格的宽度为其定义的宽度

3、所有th都定了宽度,同时所有列宽度之和大于表格宽度(tableBorderWidth+tdBorderWidth+tdPadding+tdWidth > tableWidth)

每列的宽度为自身定义的宽度;表格的宽度为所有列宽度总和(会超出表格定义的宽度)


讯享网

4、部分th定了宽度,同时定了th宽度的列的宽度之后小于表格宽度(tableBorderWidth+tdBorderWidth+tdPadding+tdWidth <= tableWidth)

ps:深灰色背景的列为定义了宽度的列

定义宽度的列的宽度为自身定义的宽度,其他没有定义宽度的列的宽度为表格总宽度减去定义的宽度之和再平均分配

5、部分th定了宽度,同时定了th宽度的列的宽度之后大于表格宽度(tableBorderWidth+tdBorderWidth+tdPadding+tdWidth > tableWidth)

ps:深灰色背景的列为定义了宽度的列

定义宽度的列的实际宽度为自身定义的宽度,其他没有定义宽度的列的宽度为表格总宽度减去定义的宽度之和再平均分配,平均分配后的宽度小于零,则其它没有定义宽度的列的宽度为0

每个列的宽度由单元格中没有折行的最宽的内容设定的,此种算法有时候会很慢,这是由于它需要在确定最终的布局之前访问表格中所有的列

1、所有th都未定最小宽度

每一列的宽度完全由里面的内容所决定。

2、所有th都定义了最小宽度,根据内容计算的所有列之和小于表格宽度

每列宽度首先根据内容计算,同时不能小于定义的最小宽度,多余的宽度每一列上面平均分配点。

3、所有th都定义了最小宽度,根据内容计算的所有列之和大于表格宽度

每列宽度首先根据内容计算,其次不能小于定义的最小宽度

4、部分th定义了最小宽度,根据内容计算的所有列之和小于表格宽度

ps:深灰色背景的列为定义了最小宽度的列

每列宽度首先根据内容计算,其次不能小于定义的最小宽度,最后表格渲染出来的宽度不能小于表格自身定义的宽度。

5、部分th定义了最小宽度,根据内容计算的所有列之和小于表格宽度

ps:深灰色背景的列为定义了最小宽度的列

每列宽度首先根据内容计算,其次不能小于定义的最小宽度

小讯
上一篇 2025-05-23 10:44
下一篇 2025-04-18 09:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185209.html