javascript中 visibility和display的区别

Chason
2021-02-03 / 0 评论 / 0 点赞 / 819 阅读 / 880 字
温馨提示:
本文最后更新于 2021-03-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、占用域的空间不同。

visibility要占用域的空间,而display则不占用。

visibility和display都可以实现对页的隐藏,例如:

将元素display属性设为 block,会在该元素后换行。

将元素display属性设为 inline,会消除元素换行。

将元素display属性设为 none,隐藏该元素内容,且不占用域的空间。

将元素visibility属性设为 hidden,隐藏该元素内容,但占用域的空间。

将元素visibility属性设为 visible,显示元素内容。

2、回应正常文档流的不同。

如果你想隐藏某元素,但在页面上保留该元素的空间的话,你应该使用visibility:hidden 。如果你想在隐藏某元素的同时让其它内容填充空白的话应该使用display:none 。

在现实中我发现人们更多的倾向于使用display 属性(相信这也是大多数人的习惯)。当你决定用display:none 来隐藏一个元素时,你必须知道其它内容将填充到该元素留下的空白位置,从而改变页面的布局。

image.png

扩展资料

在SEO中有时我们会通过把堆砌的关键词隐藏而达到作弊的目的,但不应该使用visibility:hidden 和display:none ,而应该把关键词颜色设为和背景色相同,或者把关键词的字号设为非常小,而令访客无法发现。

有的人则因为害怕搜索蜘蛛的的反感而为visibility:hidden 和display:none 的使用的烦恼。其实有很多漂亮的效果是通过元素可见性的转换而实现的。

搜索引擎也理解这一做法(事实上搜索引擎往往忽略CSS),因此如果你的目的不是欺骗搜索引擎,你大可以放心地使用visibility:hidden 和display:none 去隐藏内容。

0

评论区