问答详情
源自:2-9 jQuery选择器之可见性筛选选择器

<p id="div3" style="visibility:hidden;opacity:0">visibility</p>这个到底是隐藏还是显示的?

 <p id="div3" style="visibility:hidden;opacity:0">visibility</p>这个到底是隐藏还是显示的?

如果说它是显示的,可是右边页面隐藏了。如果说它是隐藏的可是$("#div3:visible")的结果是true。

提问者:qq_梦里_0 2016-08-30 18:51

个回答

  • 你看起来似乎很美味
    2016-10-06 22:53:29

      如果元素不在文档流,肯定是不可见的;

      如果在文档流,就能够被jq识别,但这样都是肉眼不可见而已(上述六种方法);

      六种方法中,其中设置透明度属性为0,visibility属性为hidden,仍然占据文档空间,只不过让我们看不到了而已,所以在jq中认为是被筛选成:visible;那么其他4种方法,则在文档中不占据空间,被jq认为应该筛选为:hidden


  • 慕粉3724516
    2016-08-30 23:14:07

    以下六种情况都是“肉眼”不可见的:1.CSS display的值是none。

    2.type="hidden"的表单元素。

    3.宽度和高度都显式设置为0。

    4.一个祖先元素是隐藏的,该元素是不会在页面上显示。

    5.CSS visibility的值是hidden。

    6.CSS opacity的指是0。

    但是只要在文档中占有空间就认为是可见的(对文档可见对肉眼不可见),所以你所说的情况也就是后两种被文档被认为是可见的,前四种是不可见的。


  • qq_湛蓝星光_0
    2016-08-30 20:47:25

    是显示;

    无论是visibility:hidden  还是opacity:0 , 在页面上都有具体的位置,也就是说他们都有自己的大小,只不过一个的透明度为0,另一个没有在页面上显示

    这就像一个透明的盒子,他放在页面上,是实实在在存在的,只不过你看不见,但是你可以"摸到",因为其他的盒模型无法占据他的空间