时间:2021-07-01 10:21:17 帮助过:17人阅读
Firstname | Lastname |
---|---|
Bill | Gates |
Steven | Jobs |
在Chrome给出的默认样式下看起来是这样的:
CSS标准中有两种表格边框模型: 分离模型(separate) 和 坍缩模型(collapse) 。 在separate模型中,表格相邻单元格的边框是分离的, 边框间距由 table 的 border-spacing 指定。 尽管这有些反直觉,separate模型却是多数浏览器中的默认值( border-collapse: separate )。 设置单元格边框后便可看到效果:
td, th { border: 1px solid #666;}
可以看到单元格边框是分离的:
如果设置为 collapse 模型,边框便会合并:
table{ border-collapse: collapse;}
为了显示美观通常会加宽单元格,与此同时却牺牲了同行单元格的视觉关联。 这使得用户很难随着一行去阅读信息。 在 Bootstrap 中提供了 table-striped 类来区分奇偶行并添加条纹, 效果像这样:
实现也很简单,用到了CSS3的 :nth-child() 伪类:
tr:nth-child(odd){ background: #f9f9f9;}
这里的 odd 是关键字,也可以使用数字、包含 n 的函数等, 更详细的CSS伪类介绍请参见CSS选择符总结一文。
为了让用户更容易跟随一行的信息,除了区分奇偶行样式,还可以高亮鼠标所在的行。 同时也需要注意,视觉反馈无疑增加了易用性,但视觉反馈的滥用也会使页面显得杂乱无章。 具体的样式选择还需要配合整体设计。
高亮光标所在行与高亮奇数行的方式很相似,这里需要使用 :hover 伪类。 需要注意的是,表头中的行一般不需高亮。
tr:hover{ background: #f9f9f9;}thead tr:hover{ background: transparent;}