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,
其等同于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>

如图:
在这里插入图片描述

【注意】

经此总结,我发现很多时候我都误用了表格边框的很多东西,实际上,用第一种方法的时候就无需使用第二种方法,两种方式混合在一起使用就会出现我前面说很多问题。

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在el-table中设置表头没有边框,你可以使用以下方法之一: 方法一:使用CSS样式 你可以通过修改CSS样式来隐藏表头的边框。根据你提供的代码,你可以在CSS中添以下样式来隐藏第一列的右边框: ```css .popup-table >>> .el-table__row .el-table_5_column_22 { border-right: none; } ``` 这样就可以隐藏第一列的右边框了。请确保你已经正确引入了CSS文件。 方法二:使用JS代码修改样式 你可以在el-table中设置属性`:header-cell-style`来通过JS代码修改样式。根据你提供的代码,你可以在el-table中添以下属性: ```html <el-table :data="tableData" :v-loading="tableLoading" row-key="id" height="100%" highlight-current-row show-summary border fit style="width: 100%; border:1px solid #EBEEF5; border-color: #868686" :cell-style="tableCellStyle" :header-cell-style="tableHeaderCellStyle"> <el-table-column fixed type="index" width="50"></el-table-column> </el-table> ``` 然后在你的JS代码中添以下方法: ```javascript data() { return { tableHeaderCellStyle: { border: 'none' } } } ``` 这样就可以设置表头没有边框了。 希望这些方法能够帮助到你。如果你有任何其他问题,请随时提问。 #### 引用[.reference_title] - *1* *2* [el-table实现合并表头以及表格实现单选框,el-table去掉个别边框](https://blog.csdn.net/qq_44741441/article/details/128230999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [elementui 更改 el-table 表头样式及修改el-table表格边框的注意事项](https://blog.csdn.net/weixin_64630810/article/details/126933343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菲儿啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值