用CSS实现柱状图(Bar Graph)的方法(四)—table实现复杂柱状图

作者:dudo 来源:dudo博客 时间:2008-05-28 12:55:00 

前面的文章,主要讲到如何使用无序列表ul元素来实现复杂柱状图,但是在Web标准中,除了注重表现外,更加注重语意,所谓的语意就是样式和内容的相关程序。

在前面举到例子中,要实现销售记录一览,使用ul或者dd dt dl虽然可以实现想要的效果,但是如果不过表现,只看HTML代码的话,很明显,这堆代码基本上语意比较差,或者说单看HTML代码看不出你想要表达什么样的效果。在Web标准中,列举数据元素时,最好使用table元素来实现,这才是table的用武之地。在这一节里,我们就尝试使用table来实现复杂的柱状图效果。不过已经有人早就尝试过这个试验了(CSS Vertical Bar Graphs),为了和本节形成比照,前面的例子也是按照这个效果制作的。

首先来看一下运行的效果图:

在技术上来说,如果我们去除各个标签的本来含义,只把它们看作是XHTML中的普通元素的话,我们会发现其实无论使用什么标签,在实际操作上都差不多。我们之所以选择不同的标签是因为在表达上的需要,但从技术上说,它们只是普通元素。

本文还是以前面文章设计的案例来讲,在阅读本文前,请先查看前面的这篇文章,以免造成理解困难。接下来我们就看看如何一步一步实现这样一个效果。

一、首先打地基——构建HTML代码

  这个很简单,就是做一个XHTML中table标签就可以了:

<table id="q-graph" cellpadding="0" cellspacing="0">  
<caption>某公司2007年1~4季度南北区域销售情况对照表(单位:万件)</caption>  
<thead>  
    <tr>  
        <th></th>  
     <th class="north">北方</th>  
     <th class="south">南方</th>  
 </tr>  
</thead>  
<tbody>  
    <tr id="q1">  
        <th scope="row">Q1</th>  
       <td class="north bar" style="height:111px">18</td>  
        <td class="south bar" style="height:99px">16</td>  
 </tr>  
   <tr id="q2">  
        <th scope="row">Q2</th>  
       <td class="north bar" style="height:198px">32</td>  
        <td class="south bar" style="height:210px">34</td>  
    </tr>  
   <tr id="q3">  
        <th scope="row">Q3</th>  
       <td class="north bar" style="height:260px">43</td>  
        <td class="south bar" style="height:198px">32</td>  
    </tr>  
   <tr id="q4">  
        <th scope="row">Q4</th>  
       <td class="north bar" style="height:111px">18</td>  
        <td class="south bar" style="height:198px">32</td>  
    </tr>  
</tbody>  
</table>

  在这段代码没有什么特别之处,只不过注意一下scope="row",一般情况下,表头应该使用<th>来指明,不过当<th>既是表头又是表格数据的时候,就要使用scope加以说明 。scope属性通常可以连接表格数据单元格和表头,它有四个属性值row、col、rowgroup、colgroup分别代表定义行表头、列表头、行组的表头和列组的表头。

标签:柱状图,Bar,Graph,table,表格,css
0
投稿

猜你喜欢

  • 如何调用SQL Server的存储过程?

    2009-11-15 20:15:00
  • 触手生春【4.14】CSS与HTML结构

    2008-12-09 18:10:00
  • ACCESS入门教程:初识Access 2000

    2008-01-03 19:42:00
  • 网站有效设计的10个原则

    2008-02-11 17:12:00
  • CSS3的五个使用技巧[译]

    2009-02-19 13:01:00
  • asp使用模板生成静态页面方法详解

    2007-09-24 12:29:00
  • innerHTML 引发“未知的运行时错误”

    2008-04-09 13:06:00
  • Tab(选项卡)的产品设计原则及应用[译]

    2009-07-09 19:05:00
  • 记得使用try+catch

    2010-01-29 12:48:00
  • 好友列表利用率越高,社区越失败

    2008-04-10 12:22:00
  • Asp教程:Response对象

    2007-10-01 18:08:00
  • mysql 忘记root密码

    2010-12-14 14:50:00
  • Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法

    2009-10-14 11:37:00
  • 设计模式-自动完成

    2010-11-30 21:44:00
  • ASP编程中使用数组方法实例讲解

    2008-02-15 08:25:00
  • windows 2000 IIS下配置Php+Mysql+zend的图文教程(完整版)

    2007-06-15 10:51:00
  • 发个js从样式表取值的函数

    2008-05-20 12:23:00
  • 再谈 Web 字体的现状与未来[译]

    2009-11-24 13:55:00
  • 5个款MySQL常用维护管理工具

    2010-10-25 19:45:00
  • 如何列出SQL数据库中的存储过程?

    2010-01-12 19:58:00
  • asp之家 网络编程 m.aspxhome.com