运用CSS美化Table

运用CSS美化Table


注:除非特殊声明,本文所举各例插入的表格的cellspacing、cellpadding、border值均为0。


例一:1px表格






很多人热衷于制作1px表格,于是发明了各式各样的方法,用css做起来可就灵活的多。如果要制作一个1x1的1px表格只要简单定义一下边框值就可以了。我们首先用Dreamweaver插入一个1x1表格,宽度为50,然后在该表格table或者td中定义border:1 solid teal,所做的表格的效果如下:



但是要制作一个非1x1的表格(如2x2)就稍微麻烦些,因为如果直接定义td样式border:1 solid teal ,则显示的效果如下:



你会发现表格外框为1px,而里面则变成了2px了,这是由于叠加的原因。为了解决这么问题我们可以这样做:
首先为td定义样式:border:#cc0000 solid;border-width:0 1 1 0,这样表格表现为:




然后再为table定义样式:border:#cc0000 solid;border-width:1 0 0 1,这样就可做作成一个完整的1px表格了。



例二:粗边框的1px表格





此表格的内格线为1px而外边框为3px,有了例一的基础做起来就不难了,只要修改border-width值就行了。
对table所使用的样式的代码是:border:blue solid;border-width:3 2 2 3
对td所使用的样式的代码是:border:blue solid;border-width:0 1 1 0
例三:虚线框表格





做法和例一类似,border-style从solid改为dashed。
对table所使用的样式的代码是 :border:black dashed;border-width:1 0 0 1
对td所使用的样式的代码是:border:black dashed;border-width:0 1 1 0
例四:点线边框表格






注意点线(dotted)的最小象素为2。
对table所使用的样式的代码是 :border:green dotted ;border-width:2 0 0 2
对td所使用的样式的代码是 :border:green dotted;border-width:0 2 2 0
例五:双线边框表格





注意双线(double)的最小象素为3。
对table所使用的样式的代码是 :border:teal 4 double
对td所使用的样式的代码是 :border:teal 1 solid
例六:outset外框表格







对table所使用的样式的代码是 :border: 3 outset
对td所使用的样式的代码是 :border: 1 solid

例七:inset外框表格





对table所使用的样式的代码是 :border: 3 inset
对td所使用的样式的代码是 :border: 1 solid
例八:ridge外框表格






对table所使用的样式的代码是 :border:#ee0000 3 ridge
对td所使用的样式的代码是 :border: 1 solid

例九:综合使用一







这个表格的外框采用的是脊

线,内单元格边框是槽线,注意表格插入时cellspacing设为1了。

对table所使用的样式的代码是 :border:skyblue 4 ridge
对td所使用的样式的代码是 :border: navy 1 groove

例十:综合使用二








别以为这是九个表格,其实他们是一个表格中的九个单元格,由于表格外边框为0,所以你看不到罢了。
只需对td使用样式:border:maroon 3 double,另外别忘了把表格的cellspacing设为1哦。

例十一:综合使用三








此表格的上下左右边框采用了不同的样式,你可以根据喜好自行更改。
对table所使用的样式的代码是 :border:purple 4 ;border-style:dashed double
对td所使用的样式的代码是 :border:1 solid

例十二:综合使用四









这是一个双线边框的1px表格,和例五比较起来要显得精巧,具体做法是这样的:
1.先做一个1x1的1px表格,并将cellspacing设为1;
2.再做一个3x3的1px表格,将width和height均设为100%;
3.将后做的表格插入先前做的表格中即可。

例十三:背景边框一:









利用改变cellspacing的值可以把背景做成边框,上面的表格的制作方法是:
1.首先做一个1x1的表格,并设置好背景,将cellspace的值设为3;

2.再做一个3x3的1px表格,width和height均设为100%;
3.将后做的表格插入先前做的表格中即可。
如果你采用一幅会变色的gif动画,那么表格的边框就会自动连续改变颜色。

例十四:背景边框二







这个表格的制作方法和前面一个类似,你肯定能研究出来!

例十五:3D边框表格

















这是一个具有3D边框效果的表格,做起来有点窍门。
我们先来学做1x1的:
第一步:
建立两个样式如下:
.out{border-width:1px;border-style:solid;border-color:#dddddd #777777 #777777 #dddddd}
.in{border-width:1px;border-style:solid;border-color:#777777 #dddddd #dddddd #777777;background:#ffcccc}
第二步:
建立一个1x1的表格,高和宽均为100,cellspacing设为1,如下所示:




第三步:
对整个表格(即table标签)采用out样式,而单元格(即td标签)采用in样式。现在存盘看看效果吧,是不是和下面的一样?




学会了1x1的3D边框的表格的制作,要做出本例的效果就不难了,大家不妨自己摸索一下。

小结

前面我们通过举例讲述了一些用css美化表格边框的方法,您可以尝试不同的组合,从而做出更漂亮的表格!

用css定义table的cellspacing

和cellpadding...

其实还没找到啥特别好的方法

在table的style中加入...

border-spacing:0px;/*ff有效,IE无效*/

border-collapse:collapse; /*干脆就不要框了- -#*/ 但这样所有小框都合在一起了,所以给每个td单独定义border吧...border-top -right -bottom -left.....



Table CSS属性 - CSS设置table的cellspacing,cellpadding


如何在CSS设置table的cellspacing,cellpadding

cellspancing 为0的时候,可以在table css属性设置 table{border-collapse:collsapse}
cellpadding值相当于td中的paddnig值 td{padding: 2px;}

语法:

border-spacing : length || length

参数:length : 由浮点数字和单位标识符组成的长度值。不可为负值。请参阅长度单位

设置或检索当表格边框独立(例如当border-collapse属性等于separate时),行和单元格的边框在横向和纵向上的间距。
当只指定一个length值时,这个值将作用于横向和纵向上的间距。当指定了全部两个length值时,第一个作用于横向间距,第二个作用于纵向间距。

语法:border-collapse : separate | collapse

参数:
separate : 边框独立(标准HTML)
collsapse: 相邻边被合并

设置或检索表格的行和单元格的边是合并在一起还是按照标准的HTML样式分开。

应用

table{border-collapse: separate;border-spacing: 3} - 目前在IE7下好像有问题,firefox可以通过

在WebUI中用到table的时候,我们通常要用到以下属性





每个页面的table都需要如此复杂,如果我们在css页面定义table属性如下,就能减少很多代码量。

table{border-collapse:collsapse; width:100%;border:0}

在WebUI中我们还可以利用好th这个标签如下:

带标题的table







表格标题
内文


或左右结构的table,左边通常为标题,UI中常有:





左边标题右边内文


在CSS中我们只要对th,td定义css,就可以控制全局,比起原来的做法





右边内文


减少了不少代码量,而且非常简介。如果额外再有特殊,我们不妨再定义单独css,或者直接style定义。

在webUI中,我们常常也要考虑td被数据撑开,这个时候我们在td的属性再加如一下属性:
td {word-break: break-all;
/*word-wrap: break-word;*/
}


相关文档
最新文档