虽然用bootstrap可以很方便快捷的创建一个table表格,
但是对于初学者来说,学会如何用HTML和CSS创建一个好看的表格还是很有意义的。
第一张
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>table</title>
<link rel="stylesheet" href="table_1.css">
</head>
<body>
<table class="mt">
<thead>
<tr>
<td>标题</td>
<td>标题</td>
<td>标题</td>
<td>标题</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<tr>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
</tr>
<tr>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
</tr>
<tr>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
</tr>
<tr>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
</tr>
<tr>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
<td>表格内容</td>
</tr>
</tbody>
</table>
</body>
</html>
首先是HTML的代码
已经在head里面link到了table_1.css
代码格式一定要规范
我使用的是sublime,装了emmet插件,可以很方便的用以下代码来创建一个表格
比如我要创建一个3行4列的表格
tbody>tr*3>td{表格内容}*4
第一个表格里面我并没有使用th标签
table.mt {
width: 1000px;
border-spacing: 0px;
border-right:1px solid #aaa;
border-bottom:1px solid #aaa;
}
table.mt td {
border-left:1px solid #aaa;
border-top:1px solid #aaa;
padding:10px;
}
table.mt thead tr {
background: #339;
color: #fff;
}
table.mt tbody tr:nth-child(even) {
background: #eee;
}
table.mt tbody tr:hover {
background: #ccc;
color: #fff;
}
然后就是table_1.css的代码。
先把border-spacing设置为0;
然后设置整个table.mt的右和下边框,再设置所有td的左和上边框,这样刚好设置了整张表格的边框线
第二张
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="table_2.css">
</head>
<body>
<div id="box">
<div id="box_p">
<p>这是一个大标题</p>
</div>
<table class="mt">
<thead>
<tr>
<td>标题</td>
<td>标题</td>
<td>标题</td>
<td>标题</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
<tr>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
<td>table内容</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
第二张表格也没有用th标签
* {
padding: 0px;
margin: 0px;
font-family: 微软雅黑;
}
#box {
border:1px solid #bbb;
margin: 50px auto;
width: 620px;
}
#box_p {
width: 400px;
position: relative;
left: 50%;
margin-left: -200px;
}
#box_p p {
text-align: center;
padding: 10px 0px 0px 0px;
font-size: 25px;
font-weight: bold;
color: #999;
}
table.mt {
width: 580px;
margin: 15px 20px 20px 20px;
border-top: 1px solid #EFD3D2;
border-spacing: 0px;
color: #B06A68;
}
table.mt thead tr td,table.mt tbody tr td {
border-bottom: 1px solid #EFD3D2;
padding: 10px 20px;
}
table.mt thead tr td {
font-weight: bold;
}
table.mt tbody tr:nth-child(even) {
background: #EFD3D2;
}
把整张表格放进了一个盒子中
设置了一个#box_p的盒子居中
第三张表格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="table_3.css">
</head>
<body>
<div id="box">
<table class="mt">
<thead>
<tr>
<caption>标题</caption>
</tr>
</thead>
<tbody>
<tr>
<td>内容</td>
<td>内容</td>
<td>内容</td>
</tr>
<tr>
<td>内容</td>
<td>内容</td>
<td>内容</td>
</tr>
<tr>
<td>内容</td>
<td>内容</td>
<td>内容</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
第三章表格用了caption标签来写一个大标题
* {
padding: 0px;
margin: 0px;
font-family: 微软雅黑;
}
#box {
border:1px solid #bbb;
margin: 50px auto;
width: 340px;
background: #fff;
}
table.mt caption{
font-size: 20px;
font-weight: bold;
}
#box_p {
width: 400px;
position: relative;
left: 50%;
margin-left: -200px;
}
#box_p p {
text-align: center;
padding: 10px 0px 0px 0px;
font-size: 25px;
font-weight: bold;
color: #999;
}
table.mt {
width: 300px;
margin: 15px 20px 20px 20px;
border-top: 1px solid #EFD3D2;
border-spacing: 0px;
color: #B06A68;
}
table.mt thead tr td,table.mt tbody tr td {
border-bottom: 1px solid #EFD3D2;
padding: 10px 20px;
text-align: center;
}
table.mt thead tr td {
font-weight: bold;
}
table.mt tbody tr:nth-child(even) {
background: #eee;
}
table.mt tbody tr td:hover {
background: #DFD8E8;
}
第三张表格的css。
为tbody里面的tr写了hover效果
总结:
最重要的:格式一定要规范!
用table.mt来框住thead和tbody还可以有tfoot,
这样的话只要创建一个table,设置class为mt,就可以随意调用上面任何一个table.css的样式。