Javascript 隐藏具有“显示”属性或“左/上”属性的元素?
我见过许多插件/库,包括jquerymobile,为了隐藏 元素更改其左侧和/或顶部属性,例如:Javascript 隐藏具有“显示”属性或“左/上”属性的元素?,javascript,jquery,css,Javascript,Jquery,Css,我见过许多插件/库,包括jquerymobile,为了隐藏 元素更改其左侧和/或顶部属性,例如: div { left : 99999px; top : 99999px; } 现在,这种情况下,我的代码多次混乱,因为它并不总是消失,有时会增加该属性的滚动条,所以我发现自己编辑了几个插件和css,使用display:none 我一直在想,也许人们选择这样做而不是切换显示属性是有原因的,或者这只是上述开发人员的不良做法 这两种方法的性能有什么不同吗?是否有任何javascript代码不
div {
left : 99999px;
top : 99999px;
}
现在,这种情况下,我的代码多次混乱,因为它并不总是消失,有时会增加该属性的滚动条,所以我发现自己编辑了几个插件和css,使用display:none代码>
我一直在想,也许人们选择这样做而不是切换显示属性是有原因的,或者这只是上述开发人员的不良做法
这两种方法的性能有什么不同吗?是否有任何javascript代码不能在隐藏元素上运行?更好的方法是什么?TLDR;:屏幕阅读器
以下是使图元不可见的不同方法:
显示:无代码>将元素从流中取出。文档被呈现为元素不存在。因此,屏幕阅读器不会发出元素的声音
- 然后您就有了
可见性:hidden
,它使框不可见,但仍会影响布局
- 最后,您还有一些技巧,比如使用偏移量进行绝对定位,使元素消失,而不影响布局,同时仍发出声音。下面是一个取自HTML5样板的示例:
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
TLDR;:屏幕阅读器
以下是使图元不可见的不同方法:
显示:无代码>将元素从流中取出。文档被呈现为元素不存在。因此,屏幕阅读器不会发出元素的声音
- 然后您就有了
可见性:hidden
,它使框不可见,但仍会影响布局
- 最后,您还有一些技巧,比如使用偏移量进行绝对定位,使元素消失,而不影响布局,同时仍发出声音。下面是一个取自HTML5样板的示例:
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
我认为这是一个可访问性的问题:许多有声读者可能会跳过带有display:none
或visibility:hidden
的元素。我不确定你所说的有声读者是什么意思,有没有用声音描述网站的工具?如果是的话,那么他们为什么要描述一个不应该被看到的元素呢?我认为这是一个可访问性的问题:许多有声读者可能会跳过一个带有display:none
或visibility:hidden
的元素,我不确定你所说的有声读者是什么意思,有没有工具可以用声音来描述网站?如果是,那么他们为什么要描述一个不应该被看到的元素?什么是发声?当使用绝对值
或显示时,优点和缺点在哪里:隐藏代码>?但是为什么你要说出一些不应该被看到的东西呢?我能理解对布局的影响,但不是这个…什么是发声?当使用绝对值
或显示时,优点和缺点在哪里:隐藏代码>?但是为什么你要说出一些不应该被看到的东西呢?我可以理解对布局的影响,但不是这个。。。