(11)CSS控制表格样式
2014-04-25 14:35
537 查看
之前我们已经学习了一些可以应用于<table>,<td>,<tr>,<th>的一些属性,比如:border(设置表格边框属性)、padding(设置单元格边框与单元格内容的间距)、width和height(用于设置单元格的宽度与高度)、background-color和background-image(设置单元格背景)等属性,本文介绍一些只能用于表格的CSS属性。
(1)border-collapse:指示当两个单元格接触时,两个边框应同时显示还是应显示其中一个。
border-collapse="collapse"水平边框折叠,垂直边框互相邻接;border-collapse="separate"单独显示每个边框。
![](https://img-blog.csdn.net/20140425133850609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXhkMzk1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
CSS测试代码如下:
(2)border-spacing:指定相邻单元格边框间的距离。
例如“border-spacing:2px 4px”表示水平间隔2px,垂直间隔4px。若该属性的值只给出了一个长度值,则表示水平间距与垂直间距都使用这个值。
(3)empty-cells:指示单元格没有任何内容时是否显示边框。
取值如下:1. show(默认值),即使为空也显示边框;2. hide,若单元格为空则隐藏边框;3. inherit用于嵌套表格的继承。
(4)caption-side:指示标题<caption>应该位于表格的哪个侧边。
取值如下:1. top(默认值),表格上方;2. right,表格右方;3. bottom,表格下方;4. left,表格左方。
效果图如下:
![](https://img-blog.csdn.net/20140425142449984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXhkMzk1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
CSS代码如下:
td.a {
border: red solid thin;
width: 200px;
}
td.b {
border: red dotted thin;
width: 200px;
}
table.one {
border-collapse: separate;
}
table.two {
caption-side: bottom;
border-collapse: separate;
border-spacing: 5px 10px;
empty-cells: hide;
}
HTML代码如下;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta charset="utf-8" />
<base href="/testsmarty/templates/"></base>
<title>CSS控制列表样式</title>
<link rel="stylesheet" type="text/css" href="test2.css">
</head>
<body>
<table class="one">
<caption class="c1">使用separate</caption>
<tr>
<td class="a">one</td>
<td class="b">two</td>
</tr>
<tr>
<td class="b">three</td>
<td class="a"></td>
</tr>
</table>
<br/>
<table class="two">
<caption class="c2">使用border-spacing,empty-cells和caption-side</caption>
<tr>
<td class="a">one</td>
<td class="b">two</td>
</tr>
<tr>
<td class="b">three</td>
<td class="a"></td>
</tr>
</table>
</body>
</html>
(5)table-layout
当为单元格指定了宽度之后,但所包含的内容有超出了指定的空间,浏览器会为单元格提供更多的控件以适应内容。通过table-layout可以强制浏览器使用指定宽度(即使造成有些内容无法阅读)。
取值如下:1. auto(默认值),浏览器查看表格中每个单元格,找出其中宽度最大并不能拆分的内容,这会降低表格的呈现速度。2. fixed,表格宽度使用设置的值(速度快)。3. inherit嵌套表格的上层设置。
对于字母移除的情况,可以使用overflow属性。
疑问:实验时caption-side="left"没有生效,不知道为什么。
(1)border-collapse:指示当两个单元格接触时,两个边框应同时显示还是应显示其中一个。
border-collapse="collapse"水平边框折叠,垂直边框互相邻接;border-collapse="separate"单独显示每个边框。
CSS测试代码如下:
td.a { border: red solid thin; width: 100px; } td.b { border: red dotted thin; width: 100px; } table.one { border-collapse: collapse; } talbe.two { border-collapse: separate; }HTML测试代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta charset="utf-8" /> <base href="/testsmarty/templates/"></base> <title>CSS控制列表样式</title> <link rel="stylesheet" type="text/css" href="test.css"> </head> <body> <table class="one"> <caption>使用collapse</caption> <tr> <td class="a">one</td> <td class="b">two</td> </tr> <tr> <td class="b">three</td> <td class="a">four</td> </tr> </table> <br/> <table class="two"> <caption>使用separate</caption> <tr> <td class="a">one</td> <td class="b">two</td> </tr> <tr> <td class="b">three</td> <td class="a">four</td> </tr> </table> </body> </html>可以看到,在使用了border-collapse: collapse后,红色实线覆盖了红色点线边框,对于使用border-collapse: separate的情况,我们可以使用border-spacing和empty-cells属性。
(2)border-spacing:指定相邻单元格边框间的距离。
例如“border-spacing:2px 4px”表示水平间隔2px,垂直间隔4px。若该属性的值只给出了一个长度值,则表示水平间距与垂直间距都使用这个值。
(3)empty-cells:指示单元格没有任何内容时是否显示边框。
取值如下:1. show(默认值),即使为空也显示边框;2. hide,若单元格为空则隐藏边框;3. inherit用于嵌套表格的继承。
(4)caption-side:指示标题<caption>应该位于表格的哪个侧边。
取值如下:1. top(默认值),表格上方;2. right,表格右方;3. bottom,表格下方;4. left,表格左方。
效果图如下:
CSS代码如下:
td.a {
border: red solid thin;
width: 200px;
}
td.b {
border: red dotted thin;
width: 200px;
}
table.one {
border-collapse: separate;
}
table.two {
caption-side: bottom;
border-collapse: separate;
border-spacing: 5px 10px;
empty-cells: hide;
}
HTML代码如下;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta charset="utf-8" />
<base href="/testsmarty/templates/"></base>
<title>CSS控制列表样式</title>
<link rel="stylesheet" type="text/css" href="test2.css">
</head>
<body>
<table class="one">
<caption class="c1">使用separate</caption>
<tr>
<td class="a">one</td>
<td class="b">two</td>
</tr>
<tr>
<td class="b">three</td>
<td class="a"></td>
</tr>
</table>
<br/>
<table class="two">
<caption class="c2">使用border-spacing,empty-cells和caption-side</caption>
<tr>
<td class="a">one</td>
<td class="b">two</td>
</tr>
<tr>
<td class="b">three</td>
<td class="a"></td>
</tr>
</table>
</body>
</html>
(5)table-layout
当为单元格指定了宽度之后,但所包含的内容有超出了指定的空间,浏览器会为单元格提供更多的控件以适应内容。通过table-layout可以强制浏览器使用指定宽度(即使造成有些内容无法阅读)。
取值如下:1. auto(默认值),浏览器查看表格中每个单元格,找出其中宽度最大并不能拆分的内容,这会降低表格的呈现速度。2. fixed,表格宽度使用设置的值(速度快)。3. inherit嵌套表格的上层设置。
对于字母移除的情况,可以使用overflow属性。
疑问:实验时caption-side="left"没有生效,不知道为什么。
相关文章推荐
- css控制表格样式 鼠标经过变色效果
- CSS控制表格样式
- CSS控制表格文字样式的研究
- CSS控制表格(table)样式
- CSS样式设置(鼠标经过表格变色和控制表格隔行变色和添加CSS文件引用)
- css控制表格细边框样式
- 用jquery+css控制表格样式
- CSS控制列表样式属性list-style有哪些?怎么用?
- 用CSS控制li标记样式的语法介绍
- 用CSS控制表格中的文字显示字数
- CSS温故第三天【样式】-链接 表格
- CSS list-style修改列表属性控制li标签样式
- 分享7款颜色的CSS表格样式美化网页表格用户体验
- CSS list-style属性控制ul标签样式
- 第四章-通过CSS控制字体样式
- CSS控制样式
- 用css控制鼠标样式
- js和css控制鼠标略过和点击后的样式
- 表格与嵌套表格 样式控制
- CSS 表格样式