> 웹 프론트엔드 > HTML 튜토리얼 > 一段代码弄清楚CSS属性display和visibility的差别_html/css_WEB-ITnose

一段代码弄清楚CSS属性display和visibility的差别_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-24 11:50:00
원래의
1144명이 탐색했습니다.

CSS如果想要将DOM元素隐藏,有2种做法:将display属性设置成none,或者将visibility属性设置成hidden。下面的html代码没有设置display和visibility属性。

<div id="outA" style="width:400px; height:400px; background:#CDC9C9;position:relative;">	<div id="outB" style="height:200; background:#0000ff;top:100px;position:relative;">	</div>	<div id="outC" style="height:100px; background:#FFB90F;top:50px;position:relative;">	</div></div>
로그인 후 복사


使用display:none隐藏outB

<div id="outA" style="width:400px; height:400px; background:#CDC9C9;position:relative;">	<div id="outB" style="height:200; background:#0000ff;top:100px;position:relative;display:none;">	</div>	<div id="outC" style="height:100px; background:#FFB90F;top:50px;position:relative;">	</div></div>
로그인 후 복사

使用visibility:hidden隐藏outB

<div id="outA" style="width:400px; height:400px; background:#CDC9C9;position:relative;">	<div id="outB" style="height:200; background:#0000ff;top:100px;position:relative;visibility:hidden;">	</div>	<div id="outC" style="height:100px; background:#FFB90F;top:50px;position:relative;">	</div></div>
로그인 후 복사

 

对比结果可以很容易得出结论:display:none,元素实际上就从页面中移走了,它后面的元素就会自动上移;而visibility:hidden,则仅仅隐藏该元素,它占据的页面空间依然存在。

 

对于outB元素,如果将display和visibility组合使用会是什么结果呢?

display:block;visibility:hidden;   outB看不见,但仍然占页面空间。

display:none;visibility:hidden;   outB看不见,也不占页面空间。

display:none;visibility:visible;    outB看不见,也不占有空间。

display:block;visibility:visible;    outB可见,肯定占有空间。

上面的测试结果,在IE11/FF17/Chrome39下表现都是一致的。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿