CSS的table layout属性如何?

CSS的table layout属性如何?

前言:

今天来和大家详细说一下table-layout属性的用法。

 /*eg:设置表格布局算法*/
 table{
   table-layout:fixed;
 }

***本文关键词:table-layout属性值、定义和用法、固定表格布局、自动表格布局。

1定义和用法

tableLayout属性用来显示表格单元格、行、列的算法规则。

①该属性指定了完成表布局时所用的布局算法。

②固定布局算法比较快,但灵活性不强。

③自动布局算法比较慢,却更能反映传统的HTML表。

2固定表格布局

①与自动表格布局相比,允许浏览器更快地对表格进行布局;

②其水平布局仅取决于表格宽度、列宽度、表格边框宽度、单元格间距、而与单元格的内容无关;

③通过使用固定表格布局,用户代理在接收到第一行后就可以显示表格。

3自动定表格布局

①其列的宽度是由列单元格中没有折行的最宽的内容设定的;

②由于其需要在确定最终的的布局之前访问表格中的所有内容,此算法有时会需要较长时间。

4table-layout属性值

①automatic:(默认值)列宽度由单元格内容设定;

②fixed: 列宽由表格宽度和列宽度设定;

③inherit:规定应该从父元素继承table-layout属性的值。

注:所有浏览器都支持 table-layout 属性。

任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"!!!

5理论不如实践,代码走起

说的再多,不如看代码理解的快~下面大家一起来看这个栗子↓↓↓

(为了大家方便看代码,CSS和HTML代码我就写在一块了)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>table-layout属性测试</title>
    <style type="text/css">
      table.tb1 {
        table-layout: automatic;
      }
      table.tb2 {
        table-layout: fixed;
      }
    </style>
  </head>
  <body>
    <table class="tb1" border="1" width="100%">
      <tr>
        <td width="20%">aaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td>
        <td width="40%">bbbbbbbbbbbbb</td>
        <td width="40%">ccc</td>
      </tr>
    </table>
    <br />
    <table class="tb2" border="1" width="100%">
      <tr>
        <td width="20%">aaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td>
        <td width="40%">bbbbbbbbbbbbb</td>
        <td width="40%">ccc</td>
      </tr>
    </table>
  </body>
</html>

运行后,你会看到如下图所示:

CSS的table layout属性如何?

这里我要说明一下,也许你的浏览器足够宽、也许你的单元格里的内容不够多,可能会看不出来二者的效果,这时候你需要缩小浏览器宽度或者增加单元格里的内容,就会看出二者属性值的不同效果啦~~~