我正在尝试创建一个UI,每当我将鼠标悬停在元素上时,元素特定描述将在其旁边可见。我以某种方式设法让它正常工作,但现在我开始知道,当元素更多时,应该有滚动。
执行以下操作,我得到了滚动条,但现在描述部分没有随滚动条一起移动。
CSS
.wrapper {
height: 180px;
overflow-x: hidden;
overflow-y: auto;
width: 400px;
background-color: red;
position: relative;
}
.viewer {
display: none;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 200px;
background-color: orange;
}
.item {
width: 200px;
height: 60px;
background-color: green;
cursor: pointer;
outline: 1px solid black;
}
.item:hover {
background-color: cornflowerblue;
}
.item:hover .viewer {
display: block;
}
我正在寻找一种适用于现代浏览器的纯解决方案,如IE10,chrome和firefox。
答案 0 :(得分:2)
诀窍是确保viewer
div不会与其余项目一起滚动。为此,您可以添加第二个包装器。外部包装不滚动,内部包装 滚动。然后,您需要确保绝对定位的元素相对于外部/非滚动包装器定位。您可以通过从内部包装器中删除定位,然后将其应用于外部包装器来完成此操作。
例如:
.wrapper {
position: relative;
width: 400px;
}
.wrapper-inner {
height: 180px;
overflow-x: hidden;
overflow-y: auto;
background-color: red;
}
可以在这里查看jsFiddle:https://jsfiddle.net/t8wtxf4o/4/