我正在开发一个突出显示网页某些部分的Chrome扩展程序。我需要确定哪些元素对用户可见。我当前的过滤逻辑检查这些属性:
visibility, opacity, getBoundingClientRect dimensions.
这些属性识别大多数情况,我仍然会发现异常。例如cnn.com主页上带有“快速链接”类的ul元素
此元素没有明显的属性使其不可见。为什么这个元素不可见?有没有办法以编程方式识别这种情况?
答案 0 :(得分:0)
看起来快速链接容器<div class="more-mega-nav">
具有以下属性,这使得其子对用户不可见:
.more-mega-nav {
opacity : 0;
height: 0;
overflow: hidden;
}
看起来overflow: hidden
是决定因素,因为浏览器剪辑的任何子内容超出了父width
和height
。