创建基本表格

<table>
    <caption>这是一个表格</caption>
    <tr>
        <th>a</th>
        <th>b</th>
        <th>c</th>
    </tr>
    <tr>
        <td>1.1</td>
        <td>1.2</td>
        <td>1.3</td>
    </tr>
    <tr>
        <td>2.1</td>
        <td>2.2</td>
        <td>2.3</td>
    </tr>
    <tr>
        <td>3.1</td>
        <td>3.2</td>
        <td>3.3</td>
    </tr>

</table>

element table 折叠表格_外边距

<table>标签是创建一个表格

<tr>标签是创建一行

<caption>标签是创建表格的题目

<th>标签是每行或者每列的归属,也是一个表格格子

<td>标签是表格的一个格子

表格题目位置

表格题目默认是在表格上方居中,当然,表格也可以在下边:

table{
caption-side:bottom;
}

单元格"外边距"

有没有发现,上边我们创建的表格各个单元格的"外边距"似乎让我们不满意,这样杂乱分散我们的注意力啊!

单元格确实有内边距和边框,但是,单元格的外边距和我们已经学过的盒模型不太一样。

一、border-spacing

针对表格,我们不能单独设表格的单元格"外边距",可以为表格所有单元格设置一个共同的间距---"border-spacing"。

border-spacing: 0;

element table 折叠表格_外边距_02

当然,我们还可以控制水平间距与垂直间距:

border-spacing:10px 30px;

这样,10px就是水平间距了,30px就是垂直间距咯。。。

 

二、折叠边框 border-collapse

除了border-spacing,还有一种方法折叠边框

border-collapse:collapse;

表格隔行增色

要是先不说隔行增色,是不是先想到的是给那一行<tr>标签增加一个类名,然后给这个类增加背景颜色啊,这样的话。。可以。。。但是怎么能不改变html就实现隔行增色呢?

这种方法称为nth-child伪类,伪类知道吧,提醒一下a:link就是伪类

tr:nth-child(even){
background-color:red;
}
tr:nth-child(odd){
background-color:green;
}

element table 折叠表格_盒模型_03

哈哈哈哈大红大绿,时尚时尚最时尚的,但是是不是实现了隔行变色了呢?

还有一种更灵活的nth-child伪类使用方法

tr:nth-child(2n){
background-color:red;
}
tr:nth-child(2n+1){
background-color:green;
}

n为0,则2n+1为第一个段落,n为1则2n为第二个段落,就这样推。。。。

发散一下思维,那这种方法是不是还可以用在包含在一个容器里的几个段落?。。。把<tr>换成<p>就可以,你自己试试吧。

单元格跨多行/多列 rowspan/colspan

来,我们给第二行第一个单元格跨两行

<tr>
        <td rowspan="2">1.1</td>
        <td>1.2</td>
        <td>1.3</td>
</tr>
<tr>
        <td>2.2</td>
        <td>2.3</td>
</tr>

element table 折叠表格_ci_04

是不是跨行了,注意啊,我把它跨行占得那个单元格给删了哦,要不就混乱了。。。

接下来,跨个列:

<tr>
        <td colspan="3">1.1</td>
    </tr>

element table 折叠表格_element table 折叠表格_05

表格里边套表格

很简单吧,就在那个单元格里再写一个<table>......</table>

<tr>
        <td>3.1</td>
        <td>3.2</td>
        <!--<td>3.3</td>-->
        <td>
            <table>
                <tr>
                    <th>AAA</th>
                    <td>bbb</td>
                </tr>
                 <tr>
                    <th>CCC</th>
                    <td>ddd</td>
                </tr>
            </table>
        </td>
    </tr>

就这样,要是写样式时,举个例子,这样

table table th{
    background-color:red;
}