Html-浅谈如何正确给table加边框
⼀般来说,给表格加边框都会出现不同的问题,以下是给表格加边框后展现⽐较好的⽅式。
1<style>
2    table,table tr th, table tr td { border:1px solid #0094ff; }
3    table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse;}
4</style>
5
6<table>
7<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
8<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
9<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
10<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
11</table>
但是根据不同的需要有时候我们需要不同的样式,在这⾥我就影响表格边框的因素,做⼀些总结和分析
  1. <table border="1"> 表格边框
如图:,也就是border=1,意思就是给表格的每⼀格,及边框加上1像素的边框
  2. <table border="1" cellspacing="0"> cellspacing单元格间距
如图:这时表格⼤⼩为:200*118px
  3.<table border="1" cellspacing="0" cellpadding="0"> cellpadding单元格边距
如图:这时表格⼤⼩为:200*110px
  4.去掉表格中table的所有属性值,当在css中给table设置{border: 1px solid #151515}
如图:这个时候我们发现,css中的border其实就是给表格加了⼀个外边框⽽已
  5.border-collapse: collapse 边框合并,该属性设置表格的边框是否被合并为⼀个单⼀的边框,还是象在标准的 HTML 中那样分开显⽰这个时候如果我们只是想给表格整体加边框,并且不需要边距和间距,其实我们只需要这么写:
1<style>
2    table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-color:#b6ff00; border-collapse: collapse;}
3</style>
4
5<table border="1">
6<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
7<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
8<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
9<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
10</table>
如图:(Google)(firefox)
  6.我们在上⾯的图中可以清晰看见,两个浏览器所解析边框不同。但是其实他们是⼀样的。他们同时都给边框加了颜⾊,但是由于我们td和th默认有⼀个默认的颜⾊,⽽我们这⾥没有给他们添加样式去覆盖默认的⿊⾊线条,⽽导致了⽕狐中出现的情况,其实这个情况在⾕歌中也有,只是不明显,其解析的⿊⾊默认线条被我们的颜⾊盖在了上⾯,你如果仔细查看还是会发现有⿊⾊边条出现,这个时候我们只需要给th和td加上颜⾊样式即可
1 table tr th, table tr td { border-color:#b6ff00; }
如图:(Google)(firefox)
  7.从上⾯,仔细看,其实还是会发现不对劲,⾕歌似乎外边框更深了,这其实还是因为,我们⼀开始在table上⾯加了border=1的原因,因为本⾝就给table加了⼀个默认的⿊⾊线条样式,就是我们上⾯说的,th和td以及table都有默认的⿊⾊边线,因此如果需要彻底解决这个问题,让边框可以正常显⽰,
应该这么写:
1<style>
2    table,table tr th, table tr td { border:1px solid #0094ff; }
3    table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse;}
html表格内外边框颜4</style>
5
6<table>
7<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
8<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
9<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
10<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
11</table>
总结⼀下,Html中table的属性:
1. border= “1”:给整个表格(包括表格及每⼀个单元格)加上1像素的⿊⾊边框,其等同于css中的: table,table tr th, table tr td {
border:1px solid #0094ff; }
2. cellpadding=“0”:单元格边距等于0,其默认值为1px,其等同于css中的:{padding:0;}
3. cellspacing="0":单元格间距等于0,其默认值为2px,其等同于css中的:border-collapse: collapse(边框合并),但⼜不完全相
同,cellspacing仅间距,⽽border-collapse使临近的边线合并成⼀条边线,也就避免了cellspacing中边线重合造成边线加粗的问题。
所以在这⾥不提倡使⽤html属性设置表格边框时将cellspacing设置为0,,如果你希望他等于0,更提倡使⽤css样式属性的⽅法去设置表格的边框,并使⽤border-collapse: collapse去合并边线,⽽不是将cellspacing设置为0,造成重合边线加粗的问题。
总结来说,给表格加边框,有两种⽅式:
  1.Html属性,⾏内加,边框默认为⿊⾊
1<table border="1" cellpadding="2" cellspacing="0">
2<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
3<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
4<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
5<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
6</table>
如图:,这⾥就可以看到我刚才所说的重合边线加粗的问题,⽽下⾯的⽅式就明显不会这样了
  2.Css样式,可以⾃定义你喜欢的颜⾊,⼤⼩,样式:
1<style>
2    table,table tr th, table tr td { border:1px solid #0094ff; }
3    table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse; padding:2px;}
4</style>
5
6<table >
7<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
8<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
9<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
10<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
11</table>
如图:
经此总结,我发现很多时候我都误⽤了表格边框的很多东西,实际上,⽤第⼀种⽅法的时候就⽆需使⽤第⼆种⽅法,两种⽅式混合在⼀起使⽤就会出现我前⾯说很多问题。
本博客转载,原作者不详,冲鸭!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。