关于table边框,设置了border-collapse:collapse之后,各条边框是怎么合并的?
2017-09-22 21:18
441 查看
关于table边框,设置了border-collapse:collapse之后,各条边框是怎么合并的?
遇到一个边框需要设置圆角的,然后发现在设置了border-collapse:collapse之后,border-radius:5px就不起作用了,就各种查证,发现这个是css本身就存在的,两者不能混在一起使用。所以使用了其他的方式,实现了table的圆角。但是现在就很想知道,table的border和td、th的border是怎么合并成一条边框的?
类似于table左上角跟第一个th交界的地方,两者边框合并之后,保留的是table的边框,还是th的边框呢?如果说保留的是th的边框,那么我对第一个th的左上角设置border-radius为什么依然没有效果呢?
关注者
76
被浏览
4962
添加评论
分享
邀请回答
收起
关注问题写回答
2 个回答
默认排序![](https://pic4.zhimg.com/50/84dd38c8507e44cd94b807f5e480518f_xs.jpg)
张磊
孜孜不倦,锲而不舍
40 人赞同了该回答
泻药-v-,正好上周五组内分享的时候说到border-collapse的优先级,w3c关于table的那一节,确实有指示border-collapse: collapse的冲突处理。
直接贴链接:Tables
文档里面有详细的两个例子,很直观。
这里我在总结一下:(前提border-collapse: collapse)
1. border-style = [hidden|none]
hidden的优先级是最高的,当两个边框产生聚合时,只要任意一个设置了hidden,则最终结果是不显示任何边框;none的优先级是最低的,只要任意一个设置none,就直接以另一个为结果。
正常情况下border-style: hidden 和 border-style: none 都是不显示边框,当当border-collapse: collapse的时候就有区别了。
2. border-width不一致的情况下,以border-width大的为主
3. border-style≠[hidden|none] 并且 border-width一致的情况下,以这个优先顺序:'double', 'solid', 'dashed', 'dotted', 'ridge', 'outset', 'groove', 'inset'.
4. 当边框仅仅是color不一样的时候:就按照dom层级结构来了,子element的border样式优于父element的border样式。[cell > row > rowgroup > table];如果层级结构是兄弟关系,以表格是ltr为例,左边、上边优先。
但是呢,特别有意思的是规范没有指明边角处corner的collapse逻辑,,so在chrome和firefox下表现不一样。。
可以在chrome和firefox下分别打开:BQEMea
下图是兄弟td仅仅是color不一致,然后左边是chrome,右边是firefox
![](https://pic2.zhimg.com/50/v2-6de21bae85c3e50932d59dd5d2fe2f31_hd.png)
另外对于border-radius无效,见文档:CSS Backgrounds and Borders Module Level
3
编辑于 2016-12-25
40
3 条评论
分享
收藏
感谢
收起
![](https://pic4.zhimg.com/50/6b553d1ef093dbdf02f81c595e0ec2e3_xs.jpg)
谢然
在小米和阿里做过前端,也在省重点高中教过书,现在办前端培训是因为热爱教育。
3 人赞同了该回答
《CSS权威指南》第三版360页:
![](https://pic2.zhimg.com/50/v2-f03d7f13575568b711bc86a1173b4e85_hd.png)
![](https://pic1.zhimg.com/50/v2-cc3ecd2cc2849c1f2ba3e687985aa704_hd.png)
![](https://pic3.zhimg.com/50/v2-21a9070279f777980041f11deab563ee_hd.png)
![](https://pic4.zhimg.com/50/v2-a6a42ef25147ed093ca3ea6dddd0a1db_hd.png)
相关文章推荐
- table的属性border-collapse 设置边框是否合并
- 51-设置单元格的边框-border-collapse(边框线合并)
- CSS属性 table 的 border-collapse 边框合并
- border-collapse设置表格和单元格边框合并
- 合并table相邻的边border-collapse:collapse
- 我们可以使用bordercolorlight与bordercolordark 来设置Table的边框,使之变得漂亮;
- 合并表格的边框 border-collapse: collapse
- 一个属性解决Table的边框问题(border-collapse )
- table设置border后,只有外边框解决方法
- table中设置border-collapse属性
- 边框合并用border-collapse: collapse
- 用table做网页,设置了border为1px怎么还是觉得很粗?
- CSS巧妙设置table边框border的样式
- border-collapse:collapse; 表格边框合并属性
- 关于border设置无边框
- table表格的相关设置(边框合并、隔行变色、添加内边框、单独设置某一列)
- 关于border边框重叠颜色设置问题
- Table布局核心:table标签设置 border="0" cellspacing="0" cellpadding="0",td设置左边框和上边框,table设置下边框和右边框
- css基础 表格的边框线合并 border-collapse:collapse
- 细线表格 border-collapse:collapse;/*细线表格,合并边框*/