由于很难在此处包含整个代码,因此对问题进行了简短描述(以及稍后的一些摘要):该DIV元素的display设置为none,通过将display设置为block来弹出(在某些onclick事件上-像菜单)。由于此DIV的内容大于整个页面的内容,因此当DIV.style.display ==块时,浏览器会在其窗口中添加垂直滚动条---很好。好吧,我决定在此DIV上设置max-height和overflow-y,但是您DIV本身具有不错的垂直滚动条(它可以按预期工作),浏览器-尤其是IE11-仍添加了垂直滚动-与以前的情况一样,将其移到窗口上。您可以使用它来滚动整个页面,但是没有明显的意义(窗口底部根本没有内容可以滚动到)。
在这里它看起来(或多或少)在代码中。首先使用CSS:
div.mydiv {
display: none;
position: absolute;
border-width: 1px 0px 0px 0px;
border-color: #BBBBBB black black black;
border-style: solid solid solid solid;
border-radius: 0px 0px 5px 5px;
background-color: white;
padding: 4px;
line-height: 11px;
font-size: 10px;
font-weight: normal;
color: #FFFFFF;
opacity: 1;
left: -6px;
top: 12px;
cursor: default;
box-shadow: 1px 1px 3px #888888, -1px 1px 2px #EEEEEE;
z-index: 1600;
}
现在是HTML:
<div class="mydiv" style="overflow-y: scroll; max-height: 300px;">...</div>
在FireFox中,它按预期工作,即,如果DIV的最大高度超过300像素并且浏览器未向窗口添加垂直滚动条,则DIV将获得其垂直滚动条。在IE11中,DIV也具有其滚动条,但也具有浏览器的窗口(仅当DIV可见时,即div.style.display == block)。任何想法如何摆脱该浏览器的行为?
更新:这里只是为了演示它的小提琴-请注意显示列表时出现在结果框中的垂直滚动条。
我通过移除div.select-box> div选择器的display:inline进行修复。这是新的小提琴。
div.select-box > div {
position: relative;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句