tableLayout 属性用来显示表格单元格、行、列的算法规则。
固定表格布局:
固定表格布局与自动表格布局相比,允许浏览器更快地对表格进行布局。
在固定表格布局中,水平布局仅取决于表格宽度、列宽度、表格边框宽度、单元格间距,而与单元格的内容无关。
通过使用固定表格布局,用户代理在接收到第一行后就可以显示表格。
自动表格布局:
在自动表格布局中,列的宽度是由列单元格中没有折行的最宽的内容设定的。
此算法有时会较慢,这是由于它需要在确定最终的布局之前访问表格中所有的内容。
1、不设置td宽度的情况
不设置td宽度的时候,两种布局都是一样的展现形式,当然在table-layout为fixed的时候,不设置第一行的td的宽度是不友好的做法。
2、表头单元格和行单元格宽度设置不一致情况
在table-layout为fixed的时候,会以表头的为准;不设置的时候,哪个宽度大,以哪个为准(注意:在不设置fixed的情况下,如果有width设置的为百分比,那设置为px的宽度会被忽略,不会进行比较)。
3、两行设置的td宽度不统一
不设置的时候,哪个宽度大,以哪个为准;在table-layout为fixed的时候,如果第一行有设置(包括thead里面的tr),那么以第一行为准,如果没有设置,那么会自动排列,不管其他行怎么设置都不会改变宽度。
4、同一行的td宽度设置不同
在table-layout为fixed的时候,设置第一行的td,如果所有的td加起来宽度没达到table设定的宽度,会自动排列,超过了情况,如果采用的是百分比,那依旧按照百分比计算比如(table设定的宽度/all)*width,如果是用的px,那会将表格宽度增加超过设置的宽度,对于最后一个td不设置,在前面设置的宽度没有超过表格设置的宽度的时候,会自动排列,如果超过了,会在表格外(这种模式前面的单元格有优先权,会排挤后面的单元格);
不设置的情况下,如果所有的td加起来宽度没达到table设定的宽度,那依旧按照百分比计算比如(table设定的宽度/all)*width,如果超过,那么前面的基本能保持,最后一个td的宽度会被压缩到很小很小,对于最后一个td不设置,在前面设置的宽度没有超过表格设置的宽度的时候,会自动排列,如果超过了,和td加起来宽度超过table设定的宽度的情况一样。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。