随笔-9  评论-168  文章-266  trackbacks-0

问题 

简单来说,在Firefox下,col与colgroup基本上只能干很少的几件事情(如果你对col和colgroup不熟,可以参看一下这个地方http://www.msleft.com/htmltags/colgroup.html),可以先看一段代码:

<table style="width: 1000px; font-size: 12px;" rules="groups">
 <colgroup style="border: 2px solid #000;">
  <col style="border: 1px solid #ccc;" />
  <col style="background: #eee;" />
  <col style="font-size: 24px;" />
 </colgroup>
 <colgroup>
  <col style="background: #eee; text-align: right; width: 200px;" />
  <col style="color: #900;" />
  <col style="visibility: hidden;" />
  <col style="display: none;" />
 </colgroup>
 <tbody>
  <tr>
   <td>第一列:边框</td>
   <td>第二列:背景</td>
   <td>第三列:字体大小</td>
   <td>第四列:北京和居右</td>
   <td>第五列:字体颜色</td>
   <td>第六列:消失</td>
   <td>第七列:另一种消失</td>
  </tr>
 </tbody>
</table> 

以 上代码是平时常见的对col的操作,在IE6下的展现和FF的展现还是有一定差别的,除了colgroup的border,col的background 以外,FF几乎其他的全都不能实现,而IE6则几乎全部能实现(除了边框)。

解决方案

显然,对于IE我们可以直接用上面的方法来干活了 

而对于Firefox和Opera,我们可以使用CSS的高级选择器来干这个活,把下面的代码作为style贴到刚才的代码的head部分,看看Firefox下的效果:

table tbody tr td:first-child { border: 5px solid #ccc; }
table tbody tr td:first-child+td { background: #900; }
table tbody tr td:first-child+td+td { font-size: 24px; }
table tbody tr td:first-child+td+td+td { background: #eee; text-align: right; width: 200px; }
table tbody tr td:first-child+td+td+td+td { color: #900; }
table tbody tr td:first-child+td+td+td+td+td { visibility: hidden; }
table tbody tr td:first-child+td+td+td+td+td+td { display: none; }

顺便说一句,IE7也支持这种写法

看起来还不错,不过,如果你的表格有100列,而你要为第99列设定属性的话。。。。建议你还是直接帮class到td上去吧。

                                                                          转自:http://fallenlord.blogbus.com/logs/12637041.html

posted on 2009-11-05 13:12 紫蝶∏飛揚↗ 阅读(1004) 评论(0)  编辑  收藏 所属分类: CSS

只有注册用户登录后才能发表评论。


网站导航: