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

CSS样式表
分页显示之超级提速版
兼容多浏览器实现半透明(Opera ie firefox)
解析IE, FireFox, Opera 浏览器支持Alpha透明的方法
utf8和unicode编码究竟是什么关系?有何区别?
XHTML下css+div布局总结 超强推荐
在IE下拖动滚动条时border消失的解决方法
CSS中常用的单位
有关表格边框的css语法整理(1)
中文排版CSS心得
一个针对IE7的CSS Hack
css也疯狂! 用background 插入flash播放器
如何解决下拉菜单被flash覆盖的问题
网页中关闭IE的图像工具栏和XP主题
解决IE升级后Flash线框问题
em px的关系
在iframe中隐藏横向滚动条的方法大全
Iframe自适应其加载的内容高度
固定右栏宽度, 左栏内容先出现同时自适应宽度的布局
IE Bug--浮动对象外补丁的双倍距离的解决方法
解决IE7以下版本不支持无A状态伪类的几种方法

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


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