目录
HTML标记
表格边框模型
区分奇偶行
视觉反馈
首页 web前端 html教程 CSS控制表格样式_html/css_WEB-ITnose

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

Jun 24, 2016 am 11:24 AM

表格是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;}
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? 公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? Mar 04, 2025 pm 12:32 PM

公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?

如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

如何使用HTML5表单验证属性来验证用户输入?

如何高效地在网页中为PNG图片添加描边效果? 如何高效地在网页中为PNG图片添加描边效果? Mar 04, 2025 pm 02:39 PM

如何高效地在网页中为PNG图片添加描边效果?

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? &lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么?

&lt; datalist&gt;的目的是什么。 元素? &lt; datalist&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

&lt; datalist&gt;的目的是什么。 元素?

&lt; meter&gt;的目的是什么。 元素? &lt; meter&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

&lt; meter&gt;的目的是什么。 元素?

HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

HTML5中跨浏览器兼容性的最佳实践是什么?

&gt; gt;的目的是什么 元素? &gt; gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

&gt; gt;的目的是什么 元素?

See all articles