在Firefox中,元素的位置上下左右各偏移一个像素,在Chrome中正确

时间:2019-06-11 11:51:46

标签: javascript google-chrome firefox position

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    table {
      border-collapse: collapse;
    }
    
    th,
    td {
      border: 1px solid black;
    }
  </style>
</head>

<body>
  <table id="over" style="background-color:yellow;position:absolute;top:0px;left:0px">
    <tr>
      <td>xxxxxxx</td>
    </tr>
    <tr>
      <td>yyyyyyy</td>
    </tr>
  </table>

  <table id="t1">
    <tr>
      <th>head1</th>
      <th>head</th>
      <th>head</th>
      </tr>
        <tr>
          <td>aaaaaaa</td>
          <td>bbbbbbbbb</td>
          <td>ccccccc</td>
        </tr>
        <tr>
          <td>aaaaaaa</td>
          <td>bbbbbbbbb</td>
          <td>ccccccc</td>
        </tr>
  </table>

  <script>
    tab = document.getElementById('t1');
    rect = tab.rows[1].getBoundingClientRect();
    over = document.getElementById('over');
    over.style.left = rect.left + 'px';
    over.style.top = rect.top + 'px';
  </script>

</body>

</html>

我想通过使用第一行的顶部/左侧的绝对位置放置覆盖表,从而将表 t1 的一部分与另一个表覆盖覆盖,在表t1中。 第一行表格t1的给定位置在Chrome中正确,但相差+1 在Firefox的顶部/左侧。

Firefox提供了

enter image description here

Chrome浏览器:

enter image description here

如果运行上面的代码,您将在Firefox和Edge中看到偏移量。 在Chrom,Opera和Brave中,您将看不到偏移量。 这很烦人,因为我需要精确的位置才能实现目标。

有什么想法吗?

致谢

1 个答案:

答案 0 :(得分:0)

我输入了Firefox缺陷

Bug 1559098

缺陷同时被“确认”

致谢

亨氏