Css 如何防止子对象中的滚动与其父对象滚动

Css 如何防止子对象中的滚动与其父对象滚动,css,html,Css,Html,我正在制作一个可滚动内容的popover(类似于Facebook的通知popover) 当前,当popover具有焦点且用户滚动其内容时,所有内容都会滚动,直到到达底部且父对象开始滚动() 我试图阻止父对象在到达子对象底部时滚动,如果可能的话,我希望使用CSS 如果在正文中设置溢出:隐藏,将阻止其滚动。当然,当您关闭弹出窗口时,您需要删除此属性。添加到Sam的答案中。在飞行中告诉它你想要什么——例如 <div class="hover-content" onmo

我正在制作一个可滚动内容的popover(类似于Facebook的通知popover)

当前,当popover具有焦点且用户滚动其内容时,所有内容都会滚动,直到到达底部且父对象开始滚动()


我试图阻止父对象在到达子对象底部时滚动,如果可能的话,我希望使用CSS

如果在
正文
中设置
溢出:隐藏
,将阻止其滚动。当然,当您关闭弹出窗口时,您需要删除此属性。

添加到Sam的答案中。在飞行中告诉它你想要什么——例如

    <div class="hover-content" 
         onmouseover="document.body.style.overflow='hidden';"           
         onmouseout="document.body.style.overflow='auto';">
blah yay I'm fixed
</div>

哎呀,我修好了

希望这有帮助,干杯

除非您将背景页面高度设置为窗口高度,这样它就不会有滚动的地方,否则我怀疑这是否可能。这可能会有帮助,谢谢大家@leo这很接近,但我仍然很好奇,在纯CSS中是否可以避免在js中添加
noscroll
。这是一个不错的解决方案,Sam,但我希望用户在悬停时仍然能够滚动背景内容(Facebook和Pinterest的通知弹出框都是这样)。也就是说,
overflow:hidden
可以在鼠标悬停时添加/删除。类似的东西会很完美。克里斯,我真的很喜欢这个实现。我仍然很好奇是否可以只使用CSS,但如果不可以,我认为这将是我选择的解决方案。我不相信滚动事件的冒泡是如何处理的……但我以前就错了。