我有一个列表,当您将鼠标悬停在每个列表项上时,其中会显示一个按钮。该按钮位于每个列表项的右边缘。当列表不需要滚动时,这可以正常工作,但是当需要在 Safari 中的 Lion/Mountain Lion 上滚动时,它不能正常工作,并带有隐藏的滚动条。当鼠标悬停在隐藏的滚动条区域上时,似乎删除了底层项目的 CSS 悬停状态,因此按钮消失了。
我在这里重现了这个问题:
有谁知道这个解决方案/解决方法?
标记:
<div id="list1" class="list">
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
</div>
<br />
<br />
<div id="list2" class="list">
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
<div>Foo<button>a</button></div>
</div>
CSS:
.list {
height: 200px;
width: 300px;
border: 1px solid gray;
overflow: auto;
}
.list div {
padding: 5px 0px 5px 5px;
border-bottom: 1px solid #eee;
}
.list div:hover {
background: #eee;
}
.list button {
float: right;
display: none;
}
.list div:hover button {
display: block;
}