用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
投稿

猜你喜欢

  • Python函数之zip函数的介绍与实际应用

    2022-06-02 00:52:51
  • 微信小程序应用号开发体验

    2022-03-12 12:56:02
  • python多线程爬取西刺代理的示例代码

    2021-05-27 04:32:57
  • 详解Java使用JDBC连接MySQL数据库

    2024-01-24 18:21:06
  • Python中的Pandas 时间函数 time 、datetime 模块和时间处理基础讲解

    2022-08-01 05:18:41
  • Vue实现文本编译详情

    2024-06-05 09:20:06
  • Go json自定义Unmarshal避免判断nil示例详解

    2024-01-29 18:44:24
  • python使用Plotly绘图工具绘制柱状图

    2021-10-05 00:22:34
  • Oracle9iPL/SQL编程的经验小结

    2024-01-17 11:12:01
  • Python Base64编码和解码操作

    2022-10-20 06:26:05
  • DreamweaverMX制作导航下拉菜单

    2010-07-02 16:29:00
  • Python曲线拟合详解

    2023-12-29 05:54:50
  • python发腾讯微博代码分享

    2022-05-27 04:45:00
  • 通过python下载FTP上的文件夹的实现代码

    2022-03-16 11:19:12
  • php中常用的正则表达式的介绍及应用实例代码

    2024-05-03 15:35:24
  • layui-table表复选框勾选的所有行数据获取的例子

    2024-04-28 10:19:05
  • 详解用webpack把我们的业务模块分开打包的方法

    2024-04-27 15:18:07
  • node.js 使用ejs模板引擎时后缀换成.html

    2024-05-08 09:36:40
  • 修改 CentOS 6.x 上默认Python的方法

    2023-08-07 10:02:59
  • SQL Server错误代码大全及解释(留着备用)

    2012-07-11 16:17:03
  • asp之家 网络编程 m.aspxhome.com