文章目录
表格的基本元素
使用table标签来创建一个表格。
tr标签表示表格中的一行
td标签表示表格中的一个单元格
eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<table border="1" width="50%" align="center">
<tr>
<td>A1</td>
<td>B1</td>
<td>C1</td>
<td>D1</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
<td>D2</td>
</tr>
<tr>
<td>A3</td>
<td>B3</td>
<td>C3</td>
<td>D3</td>
</tr>
<tr>
<td>A4</td>
<td>B4</td>
<td>C4</td>
<td>D4</td>
</tr>
</table>
</body>
</html>
border=1,意思就是给表格的每一格,及边框加上1像素的边框
横向合并colspan
使用格式:colspan = “合并个数”
纵向合并rowspan
使用格式:rowspan = “合并个数”
eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<table border="1" width="50%" align="center">
<tr>
<td>A1</td>
<td>B1</td>
<td colspan="2">C1</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
<td rowspan="3">D2</td>
</tr>
<tr>
<td>A3</td>
<td>B3</td>
<td>C3</td>
</tr>
<tr>
<td>A4</td>
<td>B4</td>
<td>C4</td>
</tr>
</table>
</body>
</html>
长表格
可以将一个表格分成3个部分:
头部 thead
主体 tbody
底部 tfoot
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<table border="1" width="50%" align="center">
<thead>
<tr>
<td>姓名</td>
<td colspan="3">成绩</td>
</tr>
</thead>
<tbody>
<tr>
<td>A1</td>
<td>B1</td>
<td>C1</td>
<td rowspan="4">D</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
</tr>
<tr>
<td>A3</td>
<td>B3</td>
<td>C3</td>
</tr>
<tr>
<td>A4</td>
<td>B4</td>
<td>C4</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>总分</td>
<td colspan="3">score</td>
</tr>
</tfoot>
</table>
</body>
</html>
th
th表示头部的单元格,和td同一等级
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<table border="1" width="50%" align="center">
<tr>
<th>A1</th>
<th>B1</th>
<th>C1</th>
<th>D1</th>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
<td>D2</td>
</tr>
<tr>
<td>A3</td>
<td>B3</td>
<td>C3</td>
<td>D3</td>
</tr>
<tr>
<td>A4</td>
<td>B4</td>
<td>C4</td>
<td>D4</td>
</tr>
</table>
</body>
</html>
表格样式
table独占一行,但是宽度是被内容撑开的。可以当作块元素对待。
border-spacing控制边框之间的距离
table{
width: 50%;
border:1px solid black;
border-spacing: 1px;
}
border-collapse设置边框
border-collapse: collapse;
eg:
table{
width: 50%;
border:1px solid black;
/* border-spacing: 1px; */
border-collapse: collapse;
}
设置边框成为一行
一行一个元素
table tr:nth-child(odd){
background-color:gainsboro;
}
或者:
tbody>tr:nth-child(odd){
background-color:gainsboro;
}
输出:
注意
如果表格中没有使用tbody而是直接使用tr,那么浏览器会自动创建一个tbody,并且将tr全都放到tbody中,所以tr不是table的子元素。
垂直居中
默认情况下元素在td中是垂直居中的,可以通过vertical-align进行调整。
在表格中vertical-align可以直接设置元素垂直方向上的排列,vertical-align:center
可以直接设置元素垂直居中。
所表格内容的居中可以写成:
td{
border: 1px solid black;
height: 100px;
vertical-align: middle;
text-align: center;
}
利用table-cell使元素垂直居中
table的 vertical-align: middle;
属性可以使元素垂直居中,所以可以利用这一特点使用到其他元素。
需要将父元素的display设置为table-cell
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=div, initial-scale=1.0">
<title>Document</title>
<style>
.box1{
width: 300px;
height: 300px;
background-color: goldenrod;
display: table-cell;
vertical-align: middle;
}
.box2{
width: 100px;
height: 100px;
background-color: rgb(184, 98, 58);
margin: 0px auto;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>