繁体   English   中英

将marginLeft更改为滚动父div内的子div

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM