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

CSS样式表
跨浏览器的CSS3产生器:CSS3 please
YUICompressor:高效压缩CSS和JS代码的工具
收集国外47个令人瞠目结舌的CSS3动画演示
CSS教程:通配属性批量替换的方法
清理无用的CSS样式比较有用的几个工具
页面元素的对齐:阅读线路不清晰
15个滑动门效果CSS网页导航菜单设计教程
网页制作教程:弹出层详解
SEO实战:网页排名效果最好的标题写法
提高网站权重:提高网站PR和提高网站更新度
兼容浏览器的网页细线表格设计
CSS教程:CSS3新功能和新特性
CSS3模块的目前的状况
ie6普及的大环境下暂时不要考虑w3c标准
CSS技巧教程:让CSS代码更具有易维护性
控制first-letter伪类的背景

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 196 ::
收藏到网摘: 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 全部选择 提示:你可先修改部分代码,再按运行]