html tr标签添加div,如何在表行(tr)上叠加div(或任何元素)?

博客探讨了在HTML表格中使用CSS实现div覆盖特定行的问题。作者遇到的问题是叠加层无法准确对齐到表格行的底部。文章讨论了尝试使用jQuery获取元素位置和尺寸,并设置了叠加层的样式,但未能成功。作者询问了关于offsetTop属性以及可能需要进行的数学计算以正确放置div的疑问,并寻求更好的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想在一个碰巧有多个列的表行(tr标签)上叠加一个div(或任何可以工作的元素)。

我尝试了一些似乎不起作用的方法。我在下面发布了我当前的代码。

我确实得到了一个叠加层,但不是直接在行上。我尝试将叠加层顶部设置为$ divBottom.css('top'),但这始终是'auto'。

那么,我是在正确的轨道上,还是有更好的方法呢?你可以看到,使用jQuery很好。

如果我在正确的轨道上,我如何正确放置div? offsetTop是否包含在包含元素,表中的偏移量,我需要做一些数学运算?还有其他问题我会遇到这个问题吗?

$(document).ready(function() {

$('#lnkDoIt').click(function() {

var $divBottom = $('#rowBottom');

var $divOverlay = $('#divOverlay');

var bottomTop = $divBottom.attr('offsetTop');

var bottomLeft = $divBottom.attr('offsetLeft');

var bottomWidth = $divBottom.css('width');

var bottomHeight = $divBottom.css('height');

$divOverlay.css('top', bottomTop);

$divOverlay.css('left', bottomLeft);

$divOverlay.css('width', bottomWidth);

$divOverlay.css('height', bottomHeight);

$('#info').text('Top: ' + bottomTop + ' Left: ' + bottomLeft);

});

});

#rowBottom { outline:red solid 2px }

#divBottom { margin:1em; font-size:xx-large; position:relative; }

#divOverlay { background-color:Silver; text-align:center; position:absolute; z-index:10000; opacity:0.5; }

Overlay Tests

Do it!

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

This is the bottom text

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

This is the overlay div.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值