css3 伪类分为:动作伪类、目标伪类、语言伪类、结构伪类、UI元素状态伪类、否定伪类选择器。通过这些伪类选择器,可以实现很多原来需要js才能实现的功能。现在我们来用这些伪类选择器来制作表格。
表格1:
<!DOCTYPE html>
<html lang="en">
<head> <title>表格1</title>
<style>
div.demo{
width:600px;
margin:30px auto;
font-size:14px;
font-family: "微软雅黑";
color:#444;
}
table{
*border-collaspe:collaspe;
border-spacing: 0px;
width:100%;
}
/* 制作圆角表格*/
.bordered{
border:solid 1px #ccc;
border-radius:6px;
box-shadow: 0 1px 1px #ccc;
}
.bordered tr{
-o-transition:all 0.1s ease-in-out;
-webkit-transition:all 0.1s ease-in-out;
-moz-transition:all 0.1s ease-in-out;
-ms-transition:all 0.1s ease-in-out;
transition:all 0.1s ease-in-out;
}
.bordered th,.bordered td{
border-left: 1px solid #cccccc;
border-top:1px solid #cccccc;
padding:10px;
text-align:left;
}
.bordered td{
border-left-color:#fff;
}
.bordered tr:nth-child(n+3) td{
border-top:dashed 1px #ccc;
}
.bordered tr:nth-child(2n+3){
background-color:#ebf3fc;
}
.bordered .highlight,
.bordered tr:hover{
background:#fbf8e9;
}
.bordered th{
background-color:#dce9f9;
background-img:-webkit-gradient(linear,left top,left bottom,from(#ebf3fc),to(#dce9f9));
background-img:-webkit-linear-gradient(top,#ebf3fc,#dce9f9);
background-img:-moz-linear-gradient(top,#ebf3fc,#dce9f9);
background-img:-o-linear-gradient(top,#ebf3fc,#dce9f9);
background-img:-ms-linear-gradient(top,#ebf3fc,#dce9f9);
background-img:linear-gradient(top,#ebf3fc,#dce9f9);
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorStr=#ebf3fc,endColorStr=#dce9f9);
-ms-filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorStr=#ebf3fc,endColorStr=#dce9f9);
box-shadow:0 1px rgba(255,255,255,.8) inset;/*表格表头设置内阴影*/
border-top:none;
text-shadow:0 1px rgba(255,255,255,.5);/*表格表头文字设置阴影*/
}
.bordered td:first-child,.bordered th:first-child{
border-left:none;
}
.bordered th:first-child{
border-radius:6px 0 0 0;
}
.bordered th:last-child{
border-radius:0 6px 0 0;
}
.bordered tr:last-child td:first-child{
border-radius:0 0 0 6px;
}
.bordered tr:last-child td:last-child{
border-radius:0 0 6px 0;
}
</style>
</head>
<body>
<div class="demo">
<table class="bordered">
<tr><th>#</th><th>姓名</th><th>年龄</th></tr>
<tr><td>1</td><td>Jack</td><td>21</td></tr>
<tr><td>2</td><td>Lucy</td><td>21</td></tr>
<tr><td>3</td><td>Rose</td><td>31</td></tr>
<tr><td>4</td><td>Bill</td><td>34</td></tr>
</table>
</div>
</body>
</html>
</pre><p></p><pre>
效果如下:
表格2:
<!DOCTYPE html>
<html lang="en">
<head> <title>表格2</title>
<style>
div.demo{
width:600px;
margin:30px auto;
font-size:14px;
font-family: "微软雅黑";
color:#444;
}
table{
*border-collaspe:collaspe;
border-spacing: 0px;
width:100%;
}
.zebra td,
.zebra th{
padding:10px;
border-bottom:1px solid #f2f2f2;
}
.zebra tbody tr:nth-child(2n+3){
background: #f5f5f5;
box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.zebra th{
text-align:left;
text-shadow:0 1px 0 rgba(255,255,255,.6);
border-bottm:1px solid #ccc;
background-color: #eee;
background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#eee));
background-image:-webkit-linear-gradient(top,#f5f5f5,#eee);
background-image:-o-linear-gradient(top,#f5f5f5,#eee);
background-image:-ms-linear-gradient(top,#f5f5f5,#eee);
background-image:-moz-linear-gradient(top,#f5f5f5,#eee);
background-image:linear-gradient(top,#f5f5f5,#eee);
}
.zebra th:first-child{
border-radius:6px 0 0 0;
}
.zebra th:last-child{
border-radius:0 6px 0 0;
}
.zebra tr:last-child td:first-child{
border-radius:0 0 0 6px;
}
.zebra tr:last-child td:last-child{
border-radius:0 0 6px 0;
}
</style>
</head>
<body>
<div class="demo">
<table class="zebra">
<tr><th>#</th><th>姓名</th><th>年龄</th></tr>
<tr><td>1</td><td>Jack</td><td>21</td></tr>
<tr><td>2</td><td>Lucy</td><td>21</td></tr>
<tr><td>3</td><td>Rose</td><td>31</td></tr>
<tr><td>4</td><td>Bill</td><td>34</td></tr>
</table>
</div>
</body>
</html>
</pre><pre>
效果图: