CSS “overflow-x:hidden” 与浏览器 Ctrl+F 水平移出屏幕单词突出显示冲突
CSS "overflow-x:hidden" conflicts with browser Ctrl+F horizontal move off screen word highlight
CSS Conflict
html {overflow-x:hidden;}
跟
网页浏览器命令
Ctrl + F or find() or keyword search
问题:
网站是水平滚动设计,跳到上一个(左)或下一个(右)到预定的宽度/步长/部分,没有可见的水平滚动条。
document.onkeydown = function(evt) {
evt = evt || window.event;
switch (evt.keyCode) {
case 37:
leftArrowPressed();
window.location.href = '#one';
break;
case 39:
rightArrowPressed();
window.location.href = '#two';
break;
}
};
当我调用 Ctrl+F 来查找单词时,页面不会跟随屏幕外的荧光笔向左或向右移动。除非Overflow-x: visible
并且仅滚动到单词,而不是单词所在的整个屏幕宽度/步骤/部分。
-
Overflow-x:hidden;
删除了浏览器水平滚动的功能; -
Overflow-x:visible;
浏览器在水平溢出时仅滚动到单词而不是下一部分;
我可以按照浏览器 ctrl+f 单词荧光笔功能以预定宽度的步骤/部分进行操作吗?
当 ctrl+f 单词荧光笔移出屏幕时,我可以调用按键吗?
是否可以捕获突出显示的单词坐标(x,y)?
功能测试代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Alpha Test</title>
<style type="text/css">
* {
margin:0;
padding:0;
}
html {
height:100%;
overflow-x:hidden;
}
body {
height:100%;
}
#wrap {
min-height:100%;
width:200%;
}
#one, #two {
width:50%;
float:left;
}
</style>
<script type="text/javascript">
document.onkeydown = function(evt) {
evt = evt || window.event;
switch (evt.keyCode) {
case 37:
window.location.href = '#one';
break;
case 39:
window.location.href = '#two';
break;
}
};
</script>
</head>
<body>
<div id="wrap">
<div id="one">
<iframe id="frame" src="https://wiki.videolan.org/" frameborder="0" marginwidth="" width="100%" height="100%" align="bottom">Browser not compatible.</iframe>
<!END URL-iFrame></div>
<div id="two">
<iframe id="frame" src="http://imdb.com" frameborder="0" marginwidth="" width="100%" height="100%" align="bottom">Browser not compatible.</iframe>
<!END URL-iFrame></div>
</div>
</body>
</html>
Overflow-x 和 overflow-y 总是有问题,即使在最新的浏览器中也是如此。两者都可以有"隐藏","可见"和"滚动条"("自动"只是"可见"和"滚动条"的组合),因此是9种组合。
但在实践中,其中只有 5 个有效,我回答说:即使在最新的 Chrome 中!更糟糕的是:浏览器之间存在差异,这是哪 5 个......
有时(取决于您的实际问题)如果您将 overflow-x、overflow-y 和溢出组合在一起,则可以使用解决方法。有时一些JS欺骗是解决方案。不存在一般和美丽的解决方案。
Ctrl/F可能没有什么直接的事情要做,这是您问题的间接原因,因为当浏览器的搜索小部件出现时,页面的正文可能会调整大小。您也可以通过垂直调整浏览器窗口的大小来重现此问题。
相关文章:
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 当屏幕键盘出现在手机中时,窗体会隐藏起来
- 如何将这个javascript从aspx视图中移出,并放入一个单独的js文件中
- 微小的MCE插入符号定位,同时移入和移出跨度
- 将鼠标快速移入/移出容器会导致不需要的 jQuery 动画
- 可移动的 jquery 框不应移出页面
- 工具提示定位和隐藏工具提示在鼠标移出后立即
- 用鼠标悬停打开菜单,当光标移出时关闭
- 将DOM元素项从react js组件中移出
- 如何在具有optgroup'的页面上按字母顺序对所有选择框进行排序;s,而不将选项从各自的组中移出
- 正在移出当前域
- 当元素移出窗口左侧时的条件
- Javascript窗口.把鼠标移出窗外.onMouseLeave不工作
- 从包中移出依赖项后,Angular无法识别jQuery.将Json转换为Json
- 鼠标悬停和鼠标移出不触发动画元素
- 在鼠标移出时保持子菜单打开
- 鼠标悬停和鼠标移出事件是否不匹配?
- 将Javascript移出模板文件
- 如何在单击、鼠标移出或选项卡移出字段时更改表单按钮的类?
- 将DIV移出屏幕而不会弄乱宽度