【发布时间】:2013-02-25 10:51:27
【问题描述】:
我见过很多插件/库,包括 jQuery mobile,为了隐藏 一个元素会改变它的 left 和/或 top 属性,例如:
div {
left : 99999px;
top : 99999px;
}
现在这种情况很多时候会弄乱我的代码,因为它并不总是消失,有时会增加该属性的滚动条,所以我发现自己编辑了几个插件和 css 以使用 display:none; 隐藏元素
我一直想知道人们是否有理由选择这样做而不是切换显示属性,或者这只是上述开发人员的不良做法。
这两种方法在性能上有什么区别吗?是否有任何 javascript 代码无法在隐藏元素上运行?更好的方法是什么?
【问题讨论】:
-
我认为这是一个可访问性的问题:许多语音读者可能会跳过带有
display: none或visibility: hidden的元素 -
我不确定您所说的语音阅读器是什么意思,是否有可以用语音描述网站的工具?如果是,那他们为什么要描述一个不应该被看到的元素?
标签: javascript jquery css