【发布时间】:2017-04-19 11:03:15
【问题描述】:
当满足以下条件时,表格边框并不总是正确呈现:
- 表格包含在一个带有
overflow-y:scroll的div中 - 边框折叠在桌子上
- 元素的样式为
position:relative
据我所知,这仅在 Chrome 上发生(Mac OS 10.11.6 上的版本 54.0.2840.98)。我已经在 Safari 和 Firefox 上进行了测试,没有任何问题。
我在 JSFiddle (https://jsfiddle.net/5a0a4sL1/24/) 中管理了一个最小案例。代码如下所示:
.scroll {
background-color:white;
overflow-y: scroll;
width: 300px;
height: 200px;
}
.wrapper {
height: auto;
width: 280px;
padding: 10px;
margin: 0px;
}
table {
width:90%;
margin:0px 5%;
border-collapse:collapse;
}
td {
position:relative;
border:1px solid black;
}
<div class="scroll">
<div class="wrapper">
<table>
<tbody>
<tr><td style="height:39px;"></td></tr>
<tr><td style="height:75px;"></td></tr>
<tr><td style="height:111px;"></td></tr>
<tr><td style="height:39px;"></td></tr>
</tbody>
</table>
</div>
</div>
出现问题时页面如下所示:
此处表格底部一行和一位的边框无法呈现,但表格内容会显示是否有。问题的存在和严重程度取决于 Chrome 窗口的大小,这让我认为这是浏览器中的错误。
我的问题是这样的: 代码中是否有任何看起来我显然在滥用浏览器的内容?任何可以完成相同任务的调整(位置:relative 是调整大小手柄的放置所必需的)而不会让 Chrome 生气?或者这只是一个明显的浏览器错误?
编辑:我相信这不是here, for example 讨论的“表格边框随着位置:相对而消失”问题。表格单元格的边框通常会部分呈现,如果(例如)移除 y 方向的滚动,问题就会消失。
【问题讨论】:
标签: html css google-chrome html-table