javascript - 图片的绝对位置

标签 javascript html css

此 JS 代码尝试通过将其 top 和 left 属性设置为从 td 元素的 getBoundingClientRect() 获取的值来定位图像元素 sigImg > 以便图像覆盖 td.signLabel 元素,但页面显示的图像离 td 元素的左侧太远,也离底部太远。

知道为什么以及如何使图像覆盖 td 元素吗?谢谢

let w = window.open();
let doc = w.document;
doc.write(html);
doc.close();

let sigImg = new Image();
sigImg.src = signature;
sigImg.id = 'sign';
sigImg.style.position = 'absolute';

let bounds = doc.querySelector('td.signLabel').getBoundingClientRect();
let top = bounds.top;
let left = bouds.left;

sigImg.style.top = top + 'px';
sigImg.style.left = left + 'px';
sigImg.style.backgroundColor = "yellow"; //for illustration
doc.body.appendChild(sigImg);
<tbody>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td>User sign:</td>
    <td class="signLabel">Here:------------------</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</tbody>

最佳答案

将图片放在单元格中,设置为绝对值。

td img {
position: absolute;
  opacity: .2;
}
<table>
  <tbody>
    <tr>
      <td>This is cell</td>
      <td>This is cell</td>
      <td>This is cell</td>
    </tr>      
    <tr>
      <td>This is cell</td>
      <td><img src="http://placekitten.com/g/200/300" /> This is image
</td>
      <td>This is cell</td>
    </tr>      
    <tr>
      <td>This is cell</td>
      <td>This is cell</td>
      <td>This is cell</td>
    </tr>      
  </tbody>
</table>

关于javascript - 图片的绝对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886504/

相关文章:

javascript - html2canvas 下载图像的尺寸更大

javascript - 使用 UFT 自动化 AngularJS UI-Grid

javascript - 如何让服务器在普通 PHP/SQL 网站后面执行任务?

javascript - 绑定(bind)jquery slider 来改变div的内容?

html - 背景图片总是在固定标题下,而不是在下面

android - Ionic android/ios www转apk流程

html - 图像,然后将文本右对齐

html - CSS attr() - 在之前/之后动态设置 FontAwesome 字形

css - 差距属性(property)的替代品

c# - 来自 response.write() 的 ASP.net C# 文本未按我的意愿显示