日期:2013-11-16  浏览次数:21077 次

网页制造aiyiweb文章简介:display:none和visibility:hidden这两个属性对应的值都是隐藏对像,但是它们隐藏对像有点区别。

display:nonevisibility:hidden这两个属性对应的值都是隐藏对像,但是它们隐藏对像有点区别。

display:none:

1、如果在款式文件或页面文件代码中直接用display:none对元素进行了隐藏,载入页面后,在没有通过js设置款式使元素显示的前提下,使用js代码会无法正确获得该元素的一些属性,比如offSetTop,offSetLeft等,前往的值会为0,通过js设置style.display来使元素显示后才能正确获得这些值。

2、使用display:none隐藏的元素不会被百度等搜索网站检索,会影响到网站的SEO,某些情况下可以使用left:-100000px来达到同样效果。

3、如果是通过款式文件或<style>css</style>方式来设置元素的display:none款式,用js设置style.display=""并不能使元素显示,可以使用block或inline等值来代替。通过style="display:none"直接在元素上进行的设置不会有这个问题

4、有些情况下可以使用style.visibility来代替style.display,但是要留意的是style.visibility隐藏元素时会保留元素在页面上所占的空间,而style.display隐藏元素且让出所占页面空间。

visibility:hidden:

如果想让某一段代码在前台不显示,最简单的方法是用css的display:none,这样,下边的内容就自动填补这个空隙。但是在一些特殊的情况下,我们只需求隐藏这个元素,但它的位置不能被占用了,那么,visibility:hidden就可以实现这个要求。

也就是说,用,用 visibility:hidden;可以很方便实现隐藏元素在前台的显示,但它的位置不会被后边的元素抢占。