css
翻译自:A CSS styled table 原文:http://veerle.duoh.com/comments.php?id=315_0_2_0_C 版权归原作者所有这个翻译的页面版权所有,授权蓝色理想。转载请注明出处
在前一段时间制作了CSS calendar,然后我就想用css制作一个table的模型,该模型遵循亲和力规则,而且有良好的视觉效果.
图:颜色的选择和搭配
这样做的好处是: 利用表格来装载数据,不言而喻是最好的,你可以很灵活的为每个单元格定义样式。下面是具体的做法
首先在photoshop设计一个效果出来,通过对各种颜色,小图标等的常识,做出了一个效果令人满意的效果图来。下一步呢,裁处下面三个图片来作为标题的背景图片,如果你对颜色的把握不是很好的话,这里给你提供一些调色工具
www.snook.ca/technical/colour_contrast/colour.html
veerle.duoh.com/comments.php?id=108_0_2_20_C8
数据结构为
<table id="mytable" cellspacing="0" summary="The technical
specifications of the Apple PowerMac G5 series">
<caption>Table 1: Power Mac G5 tech specs </caption>
<tr>
<th scope="col" abbr="Configurations" class="nobg">Configurations</th>
<th scope="col" abbr="Dual 1.8GHz">Dual 1.8GHz</th>
<th scope="col" abbr="Dual 2GHz">Dual 2GHz</th>
<th scope="col" abbr="Dual 2.5GHz">Dual 2GHz</th>
</tr>
<tr>
<th scope="row" class="spec">Model</th>
<td>M9454LL/A</td>
<td>M9455LL/A</td>
<td>M9457LL/A</td>
</tr>
...
可以看到我用了scope 属性来确保这个表格在无视觉效果的浏览器下展示出更好的效果,这个属性定义标题元素包含的标题内容是否为 行 (scope="col") 或 列(scope="row") 。下面是CSS的内容对于上面的标题,使用和背景来更好的区分出他们
th {
font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica,
sans-serif;
color: #6D929B;
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
border-top: 1px solid #C1DAD7;
letter-spacing: 2px;
text-transform: uppercase;
text-align: left;
padding: 6px 6px 6px 12px;
background: #CAE8EA url(images/bg_header.jpg) no-repeat;
}
th.nobg {
border-top: 0;
border-left: 0;
border-right: 1px solid #C1DAD7;
background: none;
}
下面定义左侧的标题样式
th.spec {
border-left: 1px solid #C1DAD7;
border-top: 0;
background: #fff url(images/bullet1.gif) no-repeat;
font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica,
sans-serif;
}
th.specalt {
border-left: 1px solid #C1DAD7;
border-top: 0;
background: #f5fafa url(images/bullet2.gif) no-repeat;
font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica,
sans-serif;
color: #B4AA9D;
}
这里的数据来自于MAC的technical specifications of each Power Mac G5|http://www.apple.com/powermac/specs.html下来定义普通的和重要的数据内容
td {
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
background: #fff;
padding: 6px 6px 6px 12px;
color: #6D929B;
}
td.alt {
background: #F5FAFA;
color: #B4AA9D;
}
至此,整个制作过程结束了
查看表格效果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"><HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>CSS Tables</TITLE><META http-equiv=Content-Type content="text/html; charset=utf-8"><LINK href="http://www.webjx.com/upfiles/20060314/20060314125704_styles.css" type=text/css rel=stylesheet><META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD><BODY><H1><A href="http://www.webjx.com">网页教学网</A></H1><TABLE id=mytable cellSpacing=0 summary="The technical specifications of the Apple PowerMac G5 series"> <CAPTION>Table 1: Power Mac G5 tech specs </CAPTION> <TBODY> <TR> <TH class=nobg scope=col abbr=Configurations>Configurations</TH> <TH scope=col abbr="Dual 1.8">Dual 1.8GHz</TH> <TH scope=col abbr="Dual 2">Dual 2GHz</TH> <TH scope=col abbr="Dual 2.5">Dual 2.5GHz</TH></TR> <TR> <TH class=spec scope=row abbr=Model>Model</TH> <TD>M9454LL/A</TD> <TD>M9455LL/A</TD> <TD>M9457LL/A</TD></TR> <TR> <TH class=specalt scope=row abbr="G5 Processor">G5 Processor</TH> <TD class=alt>Dual 1.8GHz PowerPC G5</TD> <TD class=alt>Dual 2GHz PowerPC G5</TD> <TD class=alt>Dual 2.5GHz PowerPC G5</TD></TR> <TR> <TH class=spec scope=row abbr="Frontside bus">Frontside bus</TH> <TD>900MHz per processor</TD> <TD>1GHz per processor</TD> <TD>1.25GHz per processor</TD></TR> <TR> <TH class=specalt scope=row abbr="L2 Cache">Level2 Cache</TH> <TD class=alt>512K per processor</TD> <TD class=alt>512K per processor</TD> <TD class=alt>512K per processor</TD></TR></TBODY></TABLE><P><A href="http://www.webjx.com/upfiles/20060314/20060314125704_styles.css">→ download stylesheet</A></P></BODY></HTML>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
查看CSS文件
译者的话:这个页面经我测试通过W3C标准严格型验证,而且兼容IE,Firefox,Opera等主流浏览器,对于大量数据,可以利用js实现行两种背景交替显示。