Overview
예제 코드를 통해서 CSS의 속성 중 display 와 position 의 동작 방식을 정리한 포스트입니다.
display
CSS 의 display 속성은 태그를 inline
또는 block
타입으로 변경을 할수 있다.
예를 들어 아래와 같이 div
와 span
을 정의하였다고 할 때 div
는 기본적으로 block
타입 이고 span
은 inline
타입이다.
여기서 span
의 display
를 block
으로 선언하면 div 와 똑같이 한줄에 한 개 씩 표시가 된다.
그리고 div
를 inline-block
으로 변경하게 되면 한줄에 여러개의 블록이 표시가 된다.
추가적으로 div
를 inline
으로 변경하게 되면 아무것도 표시가 되지 않는데 그 이유는 inline
은 내부 컨텐츠를 꾸며주는 것이고 현재 div 에는 컨텐츠가 아무것도 없기 때문이다.
따라서 div 에 컨텐츠를 추가하면 span 처럼 화면에 표시가 되는 것을 볼수 있습니다.
position
position은 태그의 위치를 지정할 때 사용하는 속성이다.
static
예를 들어 아래와 같이 태그들이 존재할 때 container
의 위치를 left
, top
를 사용해서 변경을 하려고 한다.
하지만 container
의 위치는 변경이 되지 않는데 그 이유는 positon
의 디폴트 값은 static
이며 static
의 의미는 position을 따로 지정하지 않는다
이다.
relative
따라서 position
을 static
에서 relative
로 변경을 하게 되면 노란색 container
의 위치가 오른 쪽에서 20px, 아래 쪽으로 20px 이동이 됨을 볼수 있다.
정리하자면 relative
는 원래 위치해야하는 포지션 기준으로 태그를 이동한다.
absolute
추가적으로 box 의 position
을 absolute
로 변경을 하게되면 아래와 같이 포지션이 container
기준으로 오른 쪽에서 20px, 아래 쪽으로 20px 이동이 됨을 볼수 있다.
정리하자면 absolute
는 현재 태그를 담겨있는 상자를 기준으로 태그를 이동한다.
fixed
box 의 position
을 fixed
로 변경하면 아래와 같이 창을 기준으로 오른 쪽에서 20px, 아래 쪽으로 20px 이동이 됨을 볼수 있다.
fixed
는 태그를 window 를 기준으로 이동을 시킨다.
sticky
box 의 position
을 sticky
로 변경하면 아래와 같이 스크롤을 할 때 사라지지 않고 상단에 계속 붙어있는 것을 볼수 있다.
댓글남기기