html – 表格上有负边距的奇怪事物
发布时间:2020-12-14 23:28:11 所属栏目:资源 来源:网络整理
导读:问题不是很短,但很容易理解. 这是jsFiddle 我有两个嵌套表,像这样: 这是标记: table class="outer" tr td/td td table class="inner" tr td/td td/td td/td /tr /table /td td/td /tr/tablestyletable,tr,td { border: 1px solid black; border-collapse:
问题不是很短,但很容易理解.
这是jsFiddle 我有两个嵌套表,像这样: 这是标记: <table class="outer"> <tr> <td></td> <td> <table class="inner"> <tr> <td></td> <td></td> <td></td> </tr> </table> </td> <td></td> </tr> </table> <style> table,tr,td { border: 1px solid black; border-collapse: collapse; } table { width: 100%; } .outer { height: 100px; } .inner { background-color: #ccc; height: 50px; } </style> 第一个奇怪的事情 然后,我想在内表中添加负水平边距: .inner { margin: 0 -10%; } 预期的输出是这样的: 但相反,我得到了这个: 将内部表放在div中可以解决问题: <!-- outer table --> <div class="wrapper"> <table class="inner-wrapped"> <tr> <td></td> <td></td> <td></td> </tr> </table> </div> <!-- outer table --> <style> .wrapper { margin: 0 -10%; } .inner-wrapped { background-color: rgb(0,200,0); height: 50px; } </style> 第二个奇怪的事情 如果我设置负水平边距-10px(之前我们使用的是百分比,而不是像素),那么另外该表只向左移动(就像第一种情况一样),它在宽度上有明显的减少: .inner { margin: 0 -10px; } 问题 >为什么这两个东西都会发生? 解决方法
如果主表是宽度:100%;它将一直扩展,内部表将采用最初的100%作为参考.只要没有内容成功,负余量就不会扩大.
它会工作如果: https://jsfiddle.net/md2tx2d4/2/ .inner { margin:0 -10%; width:120%;} 或者如果你让它没有宽度,让它从内容中生长 table { } td {width:200px;/* instead real content missing here */} https://jsfiddle.net/md2tx2d4/1/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |