<p id="div3" style="visibility:hidden;opacity:0">visibility</p>这个到底是隐藏还是显示的?
如果说它是显示的,可是右边页面隐藏了。如果说它是隐藏的可是$("#div3:visible")的结果是true。
如果元素不在文档流,肯定是不可见的;
如果在文档流,就能够被jq识别,但这样都是肉眼不可见而已(上述六种方法);
六种方法中,其中设置透明度属性为0,visibility属性为hidden,仍然占据文档空间,只不过让我们看不到了而已,所以在jq中认为是被筛选成:visible;那么其他4种方法,则在文档中不占据空间,被jq认为应该筛选为:hidden
以下六种情况都是“肉眼”不可见的:1.CSS display的值是none。
2.type="hidden"的表单元素。
3.宽度和高度都显式设置为0。
4.一个祖先元素是隐藏的,该元素是不会在页面上显示。
5.CSS visibility的值是hidden。
6.CSS opacity的指是0。
但是只要在文档中占有空间就认为是可见的(对文档可见对肉眼不可见),所以你所说的情况也就是后两种被文档被认为是可见的,前四种是不可见的。
是显示;
无论是visibility:hidden 还是opacity:0 , 在页面上都有具体的位置,也就是说他们都有自己的大小,只不过一个的透明度为0,另一个没有在页面上显示
这就像一个透明的盒子,他放在页面上,是实实在在存在的,只不过你看不见,但是你可以"摸到",因为其他的盒模型无法占据他的空间