table标签目前前端主流推荐HTML、CSS、JS三者分离,实际使用table标签的CSS样式代码还是采用table的style的属性和值来进行外观样式控制。
习惯样式:
1 table {
2 display: table;
3 border-collapse: separate;
4 border-spacing: 2px;
5 border-color: gray;
6 }
table的style重要属性:
border-spacing:规定表格单元格与单元格、外边框的间距;
table-layout:规定表格的布局算法;
border-collapse:设置表格的边框是否被合并为一个单一的边框;
empty-cells:在 collapsed-borders模型中,该属性无效; 在 separated-borders模型中,当该属性值为hide时,空的表格单元将没有边框和背景。
table表格编程练习
小伙伴,编写代码设置表格相应属性,按照效果图,实现相应效果。
效果图:
任务
1、设置第一列的北京颜色为orange,表格边框宽度为1,单元格(不包括插入的小表格内单元格)内间距为5px;
2、将表格第一列的第二行和第三行合并;
3、将表格第一列的第五行和第六行合并;
4、在最后合并的单元格的内嵌套一个两行两列的表格;
5、嵌套表格边框为1px;
6、将整个第四行合并;
参考代码:
1 <!DOCTYPE html>
2 <html>
3
4 <head>
5 <title>表格属性</title>
6 <meta charset="utf-8">
7 <style>
8 table {
9 border: 1px solid gray;
10 }
11
12 table.main {
13
14 width: 500px;
15 border-spacing: 0;
16 margin: 0 auto;
17 text-align: center;
18 }
19
20 .main>tbody>tr>th,
21 .main>tbody>tr>td {
22 padding: 5px;
23 }
24
25 td,
26 th {
27 border: 1px solid gray;
28 }
29
30 .one {
31 background: orange;
32
33 }
34
35 table table {
36 border-spacing: 0;
37 margin: 0 auto;
38 }
39 </style>
40 </head>
41
42 <body>
43
44 <table class='main'>
45 <caption>课程表</caption>
46 <tr class='one'>
47 <th>星期一</th>
48 <th>星期二</th>
49 <th>星期三</th>
50 <th>星期四</th>
51 <th>星期五</th>
52 </tr>
53 <tr>
54 <td rowspan="2">语文</td>
55 <td>数学</td>
56 <td>化学</td>
57 <td>英语</td>
58 <td>生物</td>
59 </tr>
60 <tr>
61 <td>数学</td>
62 <td>化学</td>
63 <td>英语</td>
64 <td>生物</td>
65 </tr>
66 <tr>
67 <td colspan="5">课间活动</td>
68 </tr>
69 <tr>
70 <td rowspan="2">
71 <table>
72 <tr>
73 <td>前半节</td>
74 <td>后半节</td>
75 </tr>
76 <tr>
77 <td>诗词</td>
78 <td>古文</td>
79 </tr>
80 </table>
81 </td>
82 <td>数学</td>
83 <td>化学</td>
84 <td>英语</td>
85 <td>生物</td>
86 </tr>
87 <tr>
88 <td>数学</td>
89 <td>化学</td>
90 <td>英语</td>
91 <td>生物</td>
92 </tr>
93 </table>
94 </body>
95
96 </html>
当然,一些“前辈”代码可能还采用table标签的一些属性来进行样式控制,对于需要维护特定“祖传代码”的工程师来说,还是有必要了解一些此类“考古”前端知识。
譬如上述table效果也可以采用table的“远古”属性来实现同样的效果:
1 <!DOCTYPE html>
2 <html>
3
4 <head>
5 <title>表格属性</title>
6
7 <meta charset="utf-8">
8 <style>
9 </style>
10 </head>
11
12 <body>
13 <table border="1" width="500" cellspacing="0" cellpadding="5px" align="center">
14 <caption>课程表</caption>
15 <tr bgcolor="orange" align="center">
16 <th>星期一</th>
17 <th>星期二</th>
18 <th>星期三</th>
19 <th>星期四</th>
20 <th>星期五</th>
21 </tr>
22 <tr align="center">
23 <td rowspan="2">语文</td>
24 <td>数学</td>
25 <td>化学</td>
26 <td>英语</td>
27 <td>生物</td>
28 </tr>
29 <tr align="center">
30 <td>数学</td>
31 <td>化学</td>
32 <td>英语</td>
33 <td>生物</td>
34 </tr>
35 <tr align="center">
36 <td colspan="5">课间活动</td>
37 </tr>
38 <tr align="center">
39 <td rowspan="2">
40 <table border="1" cellspacing="0" >
41 <tr>
42 <td>前半节</td>
43 <td>后半节</td>
44 </tr>
45 <tr align='center'>
46 <td >诗词</td>
47 <td >古文</td>
48 </tr>
49 </table>
50 </td>
51 <td>数学</td>
52 <td>化学</td>
53 <td>英语</td>
54 <td>生物</td>
55 </tr>
56 <tr align="center">
57 <td>数学</td>
58 <td>化学</td>
59 <td>英语</td>
60 <td>生物</td>
61 </tr>
62 </table>
63 </body>
64
65 </html>
标签用于定义HTML中的表格,其主要属性以及功能如下:
width:设置表格长度;
align:表格相对于周围元素的对齐方式;
bgcolor:设置表格的背景颜色;
border:设置表格的外边框宽度;
frame:设置表格外边框哪部分是可见的;
cellspacing:设置表格单元与表格单元、外边框的间距;
cellpadding:设置表格单元内容与表格单元边框的间距;
rules:设置表格单元边框哪部分是可见的。
cellpadding属性与style中的padding属性类似,但是它只能设置一个值,即上下左右的内间距都相同;cellspacing与border-spacing属性类似,同样cellspacing只能设置一个值,但是border-spacing可以设置1或2个值。