gpt4 book ai didi

html - 在不使用 javascript/jquery 的情况下在运行时动态计算 css 对齐

转载 作者:行者123 更新时间:2023-11-28 00:31:23 27 4
gpt4 key购买 nike

您好,我有一个动态表生成。所以宽度不同。现在我必须使我的前 2 列成为粘性的,这可以通过 css nth-child 来完成。 overflow 时出现问题是scroll他们开始相互重叠。为了解决这个问题,我必须计算 left第一列,然后从表的 100% 中减去,以便它可以与第一列对齐。 CSS calc()可以在这里再次使用。我无法计算 left第一列的第一位。

这是我的 CSS

td:nth-child(1) {
left: 0;
position: sticky;
z-index: 9999;
background-color: #fafafa;
border-right: 1px solid silver;
}

td:nth-child(2) {
left: 300px;
position: sticky;
z-index: 99;
background-color: #fafafa;
border-right: 1px solid silver;
}

th:nth-child(1) {
left: 0;
position: sticky;
z-index: 9999;
}

th:nth-child(2) {
left: 300px;
position: sticky;
z-index: 99;
}

这是我的 fiddle

https://jsfiddle.net/toxicLamba/pjresLw3/27/

现在为了在我更改 width 时重现问题至 300%它坏了(目前只有这样才能让它重现) <table width="200%" style="overflow:scroll">

这个可以用纯css解决吗

任何帮助将不胜感激。

更新

$('table tr').each(function() {
$('table tr').find('td:lt(2)').css('position', 'sticky').css('background', '#fafafa').css('left', '0');
})

工作正常,因为它正在工作,但第二列与第一列重叠,因为两者具有相同的 z-index以及导航到下一页时。它停止工作,jquery on(load/ready/change)不处理动态内容

最佳答案

老实说,写 CSS 属性 left: 300px 这不是一个好主意,你可能在 CSS 中有一个解决方法,但你也应该关注 CSS 属性的硬编码值,所以最好使用 jquery 来计算 left,这将是动态

关于html - 在不使用 javascript/jquery 的情况下在运行时动态计算 css 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58814108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com