(11)CSS控制表格样式

之前我们已经学习了一些可以应用于<table>,<td>,<tr>,<th>的一些属性,比如:border(设置表格边框属性)、padding(设置单元格边框与单元格内容的间距)、width和height(用于设置单元格的宽度与高度)、background-color和background-image(设置单元格背景)等属性,本文介绍一些只能用于表格的CSS属性。

(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"没有生效,不知道为什么。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值