网络编程
位置:首页>> 网络编程>> 网页设计>> 用CSS实现柱状图(Bar Graph)的方法(四)—table实现复杂柱状图(3)

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

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

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

三、接下来,我们要按照季度分类

根据XHTML中的设计,我们使用<tr>来代表季度,<td>代表南北区域,<th>代表<td>中内容属于哪个<tr>。同时我们还注意到,我们不能直接为<tr>设定边框样式,因为它没有边框(只有<table>、<td>、<th>等有)。不过我们可以为<th>设置一个边框:

table#q-graph tbody tr,table#q-graph tbody th {   
   position:absolute;   
    width:150px;   
  height:296px;   
 vertical-align: top;   
  bottom:0;   
 border-right:1px dotted #41a3e2;   
}  

这段代码没有什么特别要说明的地方,如果你对选择符(逗号“,”空格等)的应该还不是很了解,请查看相关文章。

现在四个<tr>元素都重合在了一起,我们使用绝对定位把它们在同一行上分布:

tr#q1 {left:0;}   
tr#q2 {left:149px;}   
tr#q3 {left:298px;}   
tr#q4 {left:447px;border-right:none;}  

查看演示页面:Bar-Graph-2.htm

四、进一步设定<td>样式

前行让所有的单元格底部对齐:

td.bar{   
   position:absolute;   
    text-align:center;   
    width:34px;   
   bottom:0;   
 z-index:2;   

然后设置背景和位置:

td.north {    
    left:36px;    
    background:#ddd url(bars_v.gif) no-repeat 0 0;    
}    
td.south {    
 left:80px;    
    background:#ddd url(bars_v.gif) no-repeat -34px 0;    
}  

查看演示页面:Bar-Graph-3.htm

五、对于<thead>的处理

<thead>是用来看作图例的,我们只需要把它放在表格一侧即可。为了让它们也有相应的背景,我们可以在上面这段css代码的td.northtd.south前面分别加上 th.northth.south,有半角逗号(,)隔开即可。下面使用CSS来改变<thead>的位置:

table#q-graph thead tr {   
  bottom:auto;   
  left:100%;   
    margin:-2.5em 0pt 0pt 5em;   
    top:50%;   
  position:absolute;   
}   
table#q-graph thead th {   
   width:34px;   
   position:absolute;   
    left:0;   
   height:auto;   
  color:#fff;   
}   
table#q-graph thead th.north {top:30px;}  

把<thead>移到一侧,我们使用也是绝对定位,设置left:100%,如果不想使它紧挨表格,可以再通过margin来设置。当然也可以直接使用left:105%等来设置;bottom:auto;是取消从父元素继承来的bottom:0的属性。

top:50%是用来设置垂直居中的。一般来说,绝对定位中使用top:50%是使上边缘正好处于垂直居中的位置,我们还要使用负的margin值来上移一半的高度使整个元素垂直居中。这也是我们在页面布局经常用到的一种元素居中方法;

至此我们柱状图效果基本完成了。但是在Internet Explrore中,我们发现柱状图的底部并没有和表格实际对齐,这是因为在IE中默认表格样式中边框和内容之间留有一定的空白,我们可以通过设定<table>的CSS属性border-spacing:0来实现,不过可惜的是Internet Explorer中并不起作用,所以我们还要直接为<table>元素增加一个cellspacing的属性,即<table id="q-graph" cellspacing="0">...</table>

查看演示页面:Bar-Graph-4.htm

0
投稿

猜你喜欢

  • 在HTML中,我们设置border=”1″ 时,表格边框实际大小是2px,那如果我们要做成1px的细线表格要怎么办?以前在做1px的表格的时
  • 在本教程中,你会学到如何把HTML的列表项(li元素)转换成下图的“便签墙”。该效果分5步实现。内核为webkit的Safari和Chrom
  • 本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义,
  • 在mysql安装目录的bin下, 运行mysql --install MYSQL5查看服务中, 会多一个MYSQL5的服务XAMPP的控制面
  • 一、PL/SQL出现的目的 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语
  • 用ASP生成XBM数字图片(可用来生成验证码)XBM图片是一个纯文本的文件,可以用ASP来自动生成。可以用它来使用网站登陆的验证码;我们用记
  •     CSS是制作网页效果必不可少的东西,字体的颜色定义、表格的样式定义、图片的特效等等都少不了它。但在Dr
  • 最近被“模块化”缠身,又是文章又是PPT的,被逼着想了很多相关的东西。整理下我这段时间对于“模块化”的思考,大多都是我自己从事页面重构这份工
  • 背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的
  • chat.html <html> <head><title>asp之家-简单聊天&l
  • 下面的asp函数实现了对站点的所有缓存Application的清理,释放!Sub RemoveAllCache()  D
  • 浏览器对于CSS的支持问题落后于CSS的发展,以占有市场绝对份额的Internet Explorer来说,直到其前不久发布的第8个版本才刚刚
  • 数据库系统的安全性包括很多方面。由于很多情况下,数据库服务器容许客户机从网络上连接,因此客户机连接的安全对MySQL数据库安全有很重要的影响
  • 方案:◆1、SELECT TOP PAGESIZE NEWSTITLEFORM NEWSINFO WHERE NEWSID NOT IN(S
  • 春节前在蓝色理想上发了个“雅虎口碑招聘前端工程师 ”的启事,节后收到很多简历,加之HR通过专业招聘网站得到的简历和朋友同事推荐的简历,数量上
  • 按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列。因此当其高度超出包含
  • Conditional-CSS允许你针对单一浏览器或浏览器组写出有逻辑条件的可维护的特定的CSS声明。使CSS针对特定的浏览器。简化你对CS
  •      1.新建一个vs2003的web工程,取名为XMLTest  &nbs
  • 好多同志对 iframe 是如何控制的,并不是十分了解,基本上还处于一个模糊的认识状态.注意两个事项,ifr 是一个以存在的 iframe
  • 首先感谢比尔、感谢微软、感谢MSDN,是他们让我看到他们富有创意的一面,好了好了不废话了。我们经常把多个CSS或者多个JS并成一个,以节省请
手机版 网络编程 asp之家 www.aspxhome.com