将鼠标悬停在响应式 UI 中时停止移动其他 div

stop shifting of other divs when hover in a responsive UI

In this plunker,当用户将鼠标悬停在 All Conversations 上时,id #chat-msgs 会向下移动(当浏览器宽度小于 767 像素时)。 我尝试实施 position: absolute 但它没有按预期工作。

@media (max-width: 767px) {
#user-list {
    display: none;
}
#chat-msgs {
  position:absolute;
}

#dropdownMenu2:hover + #user-list, #user-list:hover{  
  display: block;
}
}

在您的 body 标签上,您需要隐藏溢出,因为您似乎已经在代码的其他地方处理了溢出:

正文{ overflow:hidden; }

不太确定您认为绝对位置会在那里做什么,但是当绝对位置包含在具有相对位置的东西中时,它的效果最好。 Position absolute 将元素从常规流中移除,如果它包含在 position: relative 的东西中,该元素将 'catch' 它在某种意义上它不会超出该元素的边界,除非你明确告诉它与 css.

你应该从流程中取出的是#user-list。如果你把它从流中取出,它不会推动其他元素。

尝试:

.dropdown{ position: relative; }

#dropdownMenu2:hover + #user-list, #user-list:hover{
   display: block;
   position: absolute;
   width: 100%;
   z-index: 1;
   background: #fff;
 }