css表格样式(【CSS·属性】2.13 表格属性)

css表格样式

前面一节只是将了表格的定义,以及表格的基本标签,并没有对表格进行相关的美化设置,这一节将美化表格

属性说明CSS border-collapse 规定是否合并表格边框 2 border-spacing 规定相邻单元格边框之间的距离 2 caption-side 规定表格标题的位置 2 empty-cells 规定是否显示表格中的空单元格上的边框和背景 2 table-layout 设置用于表格的布局算法? 2

我们将利用这些属性中,设置表格样式


在介绍CSS样式之前,介绍一个html的标签属性,border,这是table的属性,不是CSS样式,它的作用是设置表格的边框。
<table border=”1″> <caption>表格标题</caption> <thead> <tr> <th>标题</th> <th>标题</th> <th>标题</th> <th>标题</th> </tr> </thead> <tfoot> <tr> <td>尾部</td> <td>尾部</td> <td>尾部</td> <td>尾部</td> </tr> </tfoot> <tbody> <tr> <td>单元格</td> <td>单元格</td> <td>单元格</td> <td>单元格</td> </tr> <tr> <td>单元格</td> <td>单元格</td> <td>单元格</td> <td>单元格</td> </tr> <tr> <td>单元格</td> <td>单元格</td> <td>单元格</td> <td>单元格</td> </tr> </tbody></table>
这个设置的值,可以是整数,整数值越大,边框的宽度越大

下面开始介绍表格的样式

border-collapse

值说明
collapse 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性
separate 默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性
inherit 规定应该从父元素继承 border-collapse 属性的值

在上述案例的基础上,添加下面的样式

<style type=”text/css”> table{ border-collapse:collapse; }</style>

对比两者的区别,你有什么发现?

去掉了单元格之间的很多空白。

border-spacing

值描述
length length 规定相邻单元的边框之间的距离。使用 px、cm 等单位。不允许使用负值。如果定义一个 length 参数,那么定义的是水平和垂直间距。
如果定义两个 length 参数,那么第一个设置水平间距,而第二个设置垂直间距。
inherit 指定应该从父元素继承border – spacing属性的值

修改上述表格的样式

<style type=”text/css”> table{ border-collapse:separate; border-spacing:10px 50px; }</style>

单元格之间的空白,是可以调整的。

caption-side

值描述
top 默认值。把表格标题定位在表格之上。
bottom 把表格标题定位在表格之下。
inherit 规定应该从父元素继承 caption-side 属性的值。

在上述表格的基础上,添加下面的样式

caption { caption-side:bottom; }

表格的标题,是可以设置位置的。

empty-cells

值描述
hide 不在空单元格周围绘制边框。
show 在空单元格周围绘制边框。默认。
inherit 规定应该从父元素继承 empty-cells 属性的值。

修改上述表格中的部分定义
<tfoot> <tr> <td>尾部</td> <td>尾部</td> <td></td> <td></td> </tr> </tfoot>

添加样式
<style type=”text/css”> table{ border-collapse:separate; empty-cells:hide; }</style>

比较前后的区别,发现了吗?
空单元格是否画边框,就可以这样的控制。

table-layout

值描述
automatic 默认。列宽度由单元格内容设定。
fixed 列宽由表格宽度和列宽度设定。
inherit 规定应该从父元素继承 table-layout 属性的值。

对上述表格进行修改

<table border=”1″> <caption>表格标题</caption> <thead> <tr> <th>标题</th> <th>标题</th> <th>标题</th> <th>标题</th> </tr> </thead> <tfoot> <tr> <td>尾部</td> <td>尾部</td> <td></td> <td></td> </tr> </tfoot> <tbody> <tr> <td>单元格单元格单元格</td> <td>单元格单元格</td> <td>单元格</td> <td>单元格</td> </tr> <tr> <td>单元格</td> <td>单元格</td> <td>单元格</td> <td>单元格</td> </tr> <tr> <td>单元格</td> <td>单元格</td> <td>单元格</td> <td>单元格</td> </tr> </tbody></table>

单元格的长度随着文本的内容改变,如果设置单元格的宽度呢

<style type=”text/css”> table{ border-collapse:separate; empty-cells:hide;

width: 800px; }</style>

设置了表格的宽度之后,单元格的长度是跟随单元格中内容变化的,如果添加一条属性设置呢

<style type=”text/css”> table{ border-collapse:separate; empty-cells:hide; table-layout:fixed; width: 800px; }</style>

单元格的长度,已经是平均分布了,这个属性设置在很多场合是非常实用。

(本文引用的很多知识点,感谢【菜鸟教程】的分享:https://www.runoob.com/)

css表格样式相关文章

版权声明