Html 溢出:隐藏在表格上会导致底部和右侧边框消失
正如标题所说,当使用overflow:hidden时,我的表边框被切断。例如,请参见下面的代码Html 溢出:隐藏在表格上会导致底部和右侧边框消失,html,css,Html,Css,正如标题所说,当使用overflow:hidden时,我的表边框被切断。例如,请参见下面的代码 <style> table { border-collapse: collapse; } table { border: 1px solid black; overflow: hidden; } </style>
<style>
table {
border-collapse: collapse;
}
table {
border: 1px solid black;
overflow: hidden;
}
</style>
<body>
<table>
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>
</body>
</html>
我将感谢任何解释或更好的解决办法。我真的很想知道,经过几天的调查后,它为什么会这样做
谢谢如果没有可折叠的边框,使用
边框折叠
有什么意义?移除边框折叠
,您就会没事了
请参见此处的工作示例:有两种快速解决方案:
另一个解决方案可能是将溢出应用于td和th而不是表,或者检查您是否真的需要设置溢出。多亏了skrivener和一些进一步的调查,我才设法解决了这个问题。看看解决方案 问题-表格边框周围的边框折叠不相等:
.table1 {
border : 3px solid black;
overflow : hidden;
border-collapse : collapse;
}
解决方案-不得在边框中声明边框宽度
必须使用边框宽度
:
.table2 {
border : solid black;
overflow : hidden;
border-collapse : collapse;
border-width : 6px 7px 7px 6px;
}
th {
border: 1px solid black;
}
th {
border: 1px solid black;
}
问题:
<table class="table1">
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>
<table class="table2">
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>
标题1
标题2
标题3
侧割台
数据1
数据2
页脚页眉
页脚2
页脚3
解决方案:
<table class="table1">
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>
<table class="table2">
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>
标题1
标题2
标题3
侧割台
数据1
数据2
页脚页眉
页脚2
页脚3
斯克里维纳:
“我认为,发生这种情况的原因是,当使用折叠的
浏览器尝试拆分表格边框的边框模型
边框在中间。在边框外的一个像素上,很明显这是
不可能,因此浏览器使用全像素宽度(如果为上/左),
如果是底部/右侧,则什么也没有。”
这让我相信,如果我只是手动设置4个边框设置边框宽度
,并在右侧和底部添加1px,舍入将正常工作。查看解决方案,您可以更新边框以查看其是否正常工作。现在,不管怎样,只要在右边框和下边框上添加1px,就可以拥有相同宽度的外边框
再次感谢您的帮助 试试下面的内容
1.给你的桌子留些空白
2.用户表布局:固定
3.设置正如我所说的——“我已经将我的示例简化到了最低限度”——这只是为了演示底部和右侧边界消失。请随意添加css以获得更多边框。您能解释一下为什么需要
overflow:hidden代码>?在桌子上做这件事似乎很奇怪。是的,我想没有上下文是很奇怪的。我正在创建一个具有悬停行和列的表。也就是说,当鼠标悬停在单元格上时,它们会高亮显示。为了突出显示列,您使用了一个技巧,您可以在这里找到它——如果您不使用overflow:hidden,背景将从表中推出您不想要的内容。希望这能解释为什么它会在那里。正如我所说的,这里只包含了最低限度的代码,这样就不会用不必要的代码把代码弄得乱七八糟。谢谢你的帮助。正如我所说的——“我已经将我的示例简化到了最低限度”——这只是为了演示底部和右侧边界消失。请参阅示例,以演示在没有边框折叠的情况下如何出错(是的,我知道您可以手动设置特定的边框来解决此问题,但如果使用较大的表/示例,则可能会变得混乱)。我原以为这是对我祈祷的回答,但如果你给内部细胞加上边框,比如说页眉-折叠不会产生影响,所以当你希望它们都相同时,你有不同宽度的边框。请参阅下面您提供的两个解决方案的示例。据我所知,这些细胞应该会塌陷到外缘。[链接]-我用增加的边框更新了第一个示例,以便您可以看到整个表格的宽度不相等。th的边框将显示边框没有正确折叠。THXAWES多亏了你,我才知道这一点。skrivener,你文章中关于舍入的部分让我想知道,如果我只是手动设置所有边框,并在右侧和底部添加1px,舍入是否会正确工作。查看-现在您可以增加表格边框(确保右边框和下边框=+1px),边框和边之间没有任何差异。非常感谢!
<table class="table2">
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
</tr>
</thead>
<tbody>
<tr>
<th>side header</th>
<td>data 1</td>
<td>data 2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>footer header</th>
<td>footer 2</td>
<td>footer 3</td>
</tr>
</tfoot>
</table>