[英]Change marginLeft to child div inside a scrolling parent div
我正在尝试放置一个position: absolute
滚动div内的position: absolute
div,使其在向左或向右滚动时保持在左侧。 这是因为我希望div像一个单元一样移动(向左,向右,向上,向下滚动时)。 在低于2K的屏幕上运行效果很好,但在高清屏幕(即2k,3k,4k ...)上,儿童div跳来跳去,看上去很糟糕。
有更好的方法吗? 我应该对高清屏幕CSS进行哪些更改?
#parent {
overflow: auto;
width: 100%;
height: 100%;
position: relative;
}
#child {
overflow: hidden;
width: 20%;
height: 100%;
z-index:1;
position: absolute;
}
<div id="parent">
<div id="child"></div>
</div>
$("#parent").on('scroll', function (event) {
$("#child")[0].style.marginLeft = this.scrollLeft+"px";
});
您可以使用jQuery的css
函数设置值。 并将父元素用作jQuery对象以使用scrollLeft()
函数:
$("#parent").on("scroll", function() {
$("#child").css("margin-left", $(this).scrollLeft() + "px");
});
但是我根本不会使用jQuery。 为什么不为此在CSS中使用fixed
位置呢? 就像这个例子 。 在任何屏幕上都不应闪烁。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.