当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 用css实现表格外观的无序列表

CSS样式表
RGBA颜色实现背景颜色透明而文字不透明
不够语义网页设计和语义的网页制作
网站布局剖析实例:网页黄金分割
准确获取指定元素CSS属性值
汇总DIVCSS网页布局及网站设计常犯错误
CSS中的!important属性
用CSS进行网页布局的好处
网页设计CSS技巧汇总
参考:2009年不要制作的几种网站
网页在IE6下正常在IE7下错位的问题
网页在IE6下错位在IE7下正常的问题
Web标准和网站重构只是一种思想
支持Web标准在中国
CSS选择符命名的几个原则
历数CSS缩写的一些好处
远离CSS BUG 尽量保持代码有语义
制作网页评论表单
CSS样式命名规范
CSS样式表书写顺序
CSS样式表注释书写规范

CSS样式表 中的 用css实现表格外观的无序列表


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 113 ::
收藏到网摘: n/a

  • 参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2
  • 操作系统:Windows
  • 特别提示:这不是表格的模拟。表格无论在语义、结构,还是在效果实现上,都是无法替代的。本文只针对无序列表在外观方面的一个特殊需求

别看有的东东长得个表格样,其实是披着表格皮的无序列表,为了伟大的语义,我们需要用css实现表格外观的无序列表。

个人喜好,这里采用border和negative margin来实现,非常简单:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这是一个最简单的模型,然而,实战总是残酷的:

  1. 宽度如何自适应分辨率?
  2. 单元格内容过多、形成换行如何处理?
  3. 最纠结的问题:5×4的表格,如果只有17条数据怎么办?empty-cell也黯然失色…

问题1:宽度如何自适应分辨率?
这个问题也许有人说没必要,但是在模块化设计时,几乎任何部件都被要求设置为宽度自适应模式的。

解决1:参考完美的firefox3和ie8百分比宽度处理方案,给剩余的宽度分配给某个“列”,就行了 ^-^
记得二列等高的笨办法吗?——用背景图片模拟。

问题2:单元格内容过多、形成换行如何处理?

解决2:隐藏吧,它已经没有存在的价值了!( - -! 其实是我想不出别的办法来了)
但为了体验好一点,我加上了text-overflow。这个,FF暂时不支持……aoao有好的解决办法,我也有次点的解决办法。

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

问题3:5×4的表格,如果只有17条数据怎么办?empty-cell也黯然失色…
看这个Demo,其实我觉得这个样子不影响阅读,也不难看了,可Boss和他的Money不乐意。

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

解决3
首先让我们制造出我们想要的表格(很遗憾,制造了很多空标签,暂时没有找到更合适的纯CSS解决方案,欢迎大家多多指点)。

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

然后用position:relative实现css移魂大法:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

最后让我们隐藏多余的那一行:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

解决3很抽搐,在birdstudio的帮助下找到了新的方法,这方法不用加空标签。

原理单用文字描述太复杂了,也不能描述得很清楚,自己看源码吧,关键在li的高度与margin的设置上,多余的部分也隐藏了。

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]