Html5-如何正确给table加边框
Html5-如何正确给table加边框
分析单个属性的效果
<style>
table,table tr th, table tr td { border:1px solid #0094ff;}
table { width:200px; min-height:25px; line-height:25px; text-align: center; border-collapse: collapse;}
</style>
<table>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
</table>
但是根据不同的需要有时候我们需要不同的样式,在这⾥我就影响表格边框的因素,做⼀些总结和分析。⼀、表格边框 border=“1”
<table border="1">
如图:
也就是border=1,意思就是给表格的每⼀格,及边框加上1像素的边框。
⼆、cellspacing单元格间距
<table border="1" cellspacing="0">
如图:这时表格⼤⼩为:200*118px
三、cellpadding单元格边距
<table border="1" cellspacing="0" cellpadding="0">
如图:这时表格⼤⼩为:200 *110px
四、去掉表格中table的所有属性值,在css中给table设置
{border:1px solid #151515}
如图:
这个时候我们发现,css中的border其实就是给表格加了⼀个外边框⽽已
五、border-collapse: collapse 边框合并
该属性设置表格的边框是否被合并为⼀个单⼀的边框,还是像在标准的 HTML 中那样分开显⽰**
这个时候如果我们只是想给表格整体加边框,并且不需要边距和间距,其实我们只需要这么写:
<style>
table {
width:200px;
min-height:25px;
line-height:25px;
text-align: center;
border-color:#b6ff00;
border-collapse: collapse;
}
</style>
<table border="1">
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
</table>
六、分析差别
我们在上⾯的图中可以清晰看见,两个浏览器所解析边框不同。但是其实他们是⼀样的。他们同时都给边框加了颜⾊,但是由于我们td和th 默认有⼀个默认的颜⾊,⽽我们这⾥没有给他们添加样式去覆盖默认的⿊⾊线条,⽽导致了⽕狐中出现的情况,其实这个情况在⾕歌中也有,只是不明显,其解析的⿊⾊默认线条被我们的颜⾊盖在了上⾯,你如果仔细查看还是会发现有⿊⾊边条出现,这个时候我们只需要给th 和td加上颜⾊样式即可**
table tr th, table tr td { border-color:#b6ff00;}
七、分析误区
从上⾯,仔细看,其实还是会发现不对劲,⾕歌似乎外边框更深了,这其实还是因为,我们⼀开始在table上⾯加了border=1的原因,因为本⾝就给table加了⼀个默认的⿊⾊线条样式,就是我们上⾯说的,th和td以及table都有默认的⿊⾊边线,因此如果需要彻底解决这个问题,让边框可以正常显⽰,应该这么写:
<style>
table,table tr th, table tr td { border:1px solid #0094ff;}
table {
width:200px;
min-height:25px;
line-height:25px;
text-align: center;
border-collapse: collapse;
}
</style>
<table>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
</table>
总结⼀下:
Html中table的属性:
border= “1”:给整个表格(包括表格及每⼀个单元格)加上1像素的⿊⾊边框,
其等同于css中的: table,table tr th, table tr td { border:1px solid #0094ff; }
cellpadding=“0”:单元格边距等于0,其默认值为1px,
html网页设计 table 其等同于css中的:{padding:0;}
cellspacing=“0”:单元格间距等于0,其默认值为2px,
其等同于css中的:border-collapse: collapse(边框合并),但⼜不完全相同,cellspacing仅间距,⽽border-collapse使临近的边线合并成⼀条边线,也就避免了cellspacing中边线重合造成边线加粗的问题。所以在这⾥不提倡使⽤html属性设置表格边框时将cellspacing设置为0,,如果你希望他等于0,更提倡使⽤css样式属性的⽅法去设置表格的边框,并使⽤border-collapse: collapse去合并边线,⽽不是将cellspacing设置为0,造成重合边线加粗的问题。
总结来说,给表格加边框,有两种⽅式:
1、Html属性,⾏内加,边框默认为⿊⾊
<table border="1" cellpadding="2" cellspacing="0">
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
</table>
如图:
这⾥就可以看到我刚才所说的重合边线加粗的问题,⽽下⾯的⽅式就明显不会这样了
2、Css样式,可以⾃定义你喜欢的颜⾊,⼤⼩,样式:
<style>
table,table tr th, table tr td { border:1px solid #0094ff;}
table { width:200px; min-height:25px; line-height:25px; text-align: center; border-collapse: collapse; padding:2px;}
</style>
<table >
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
<tr><td>内容</td><td>内容</td><td>内容</td><td>内容</td><td>内容</td></tr>
</table>
如图:
【注意】
经此总结,我发现很多时候我都误⽤了表格边框的很多东西,实际上,⽤第⼀种⽅法的时候就⽆需使⽤第⼆种⽅法,两种⽅式混合在⼀起使⽤就会出现我前⾯说很多问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论