[css] display (none, inline, inline-block, block) 와 visibility (visible, hidden, collapse) 의 차이

반응형





[css] display (none, inline, inline-block, block) 와 visibility (visible, hidden, collapse) 의 차이



display 는 해당 요소를 어떻게 표시할지를 정의하고, 


visibility 는 요소를 보일지 말지를 정의하는 css 속성이다.








 display 의 속성 사용법 




none : 해당 영역을 생성하지 않는다. 공간을 차지하지도 않는다.


inline (기본값) : 앞뒤로 줄바꿈 되지 않는다.


inline-block : inline 인데 block 처럼 표시한다. block 요소가 줄바꿈 되지 않고 옆으로 나열된다.


block : 앞뒤로 줄바꿈 된다. 기본 width 가 100% 를 차지하게 된다.



기본 html 소스



실행 결과는 다음과 같다.





이제부터 위의 html 문서에서 display 속성을 적용해 보자.


1. display: none


div {

width: 100px;

height: 100px;

display: none;

}


a 영역, b 영역, c 영역이 차지하고 있던 공간이 사라지며 아래 텍스트만 표시 된다.




2. display: inline


div {

width: 100px;

height: 100px;

display: inline;

}


모든 문자열이 옆으로 나열되어 붙어 있다.




3. display: inline-block


div {

width: 100px;

height: 100px;

display: inline-block;

}



100px 크기의 block 속성은 유지하면서 옆으로 나열되어 붙는다.







4. display: block


이번에는 inline 속성이 기본인 <span> 태그를 이용해 block 속성을 적용해 보자.


기본 html 소스


원래 span 태그는 줄바꿈되지 않지만 display: block 속성값을 지정함으로써 모두 줄바꿈 되어 있다.









 visibility 의 속성 사용법 




visible (기본값) : 해당 영역 요소가 그대로 보인다.


hidden : 해당 영역 요소가 보이지 않지만, 해당 영역 공간을 투명하게 그대로 차지한다.


collapse : <table> 태그에서만 사용할 수 있는 값으로, 선택 테이블의 행과 열을 숨긴다.



1. visibility : hidden


div#b {

background: #FF52E8;

visibility: hidden;

}



아래 그림과 같이

왼쪽 그림은 정상적으로 모든 div 가 나올 때 결과이고,

오른쪽 그림은 b영역에만 visibility: hidden 속성을 적용한 결과이다.










 display: none 과 visibility: hidden 의 차이 




display: none 속성은 아래 왼쪽 그림과 같이 공간까지 사라지고,

visibility: hidden 속성은 해당 영역 요소는 보이지 않지만 공간은 그대로이다.











반응형
TAGS.

Comments