Home >Web Front-end >HTML Tutorial >CSS控制表格样式_html/css_WEB-ITnose

CSS控制表格样式_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:24:372507browse

表格是HTML中用来显示比较密集的信息,在HTML早期就有支持。 表格的HTML标记较其他元素复杂很多,浏览器也为

标签提供了不少默认样式, 所以表格的排版行为也较为复杂。 本文讨论了表格的边框模型,以及如何利用CSS3设置条纹样式和视觉反馈。

HTML标记

一个基本的表格标记是这样的:

<table>  <tr>    <th>Firstname</th>    <th>Lastname</th>  </tr>  <tr>    <td>Bill</td>    <td>Gates</td>  </tr>  <tr>    <td>Steven</td>    <td>Jobs</td>  </tr></table>

在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;}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn