Front-end 공부하기

[CSS] display와 position 이해하기

Chikaka 2022. 7. 20. 08:53

1. display

display 는 block이냐 inline이냐를 결정짓는 태그

* block이란

이렇게 옆에 자리가 충분히 있음에도 불구하고

아래로 배치하는 속성

 

* inline이란

옆으로 배치되는 속성

 

 

기본적으로 상자를 만드는데 <div>와 <span>이 있다.

<div>는 block으로 만들어지고 <span>은 컨텐츠를 기준으로 만들어진다.

<div>와 <span>을 같은 조건으로 만들었을 때

<span>은 보이지 않는다.

 

 

<span> 은 안에 내용이 있어야 보여진다.

 

 

 

그래서 <div>는 내용이 없어도 width, height를 정한 만큼 생성되지만 <span>은 width와 height를 무시하고 컨텐츠 크기만큼 그려진다.

그리고 <div>는 아래로 한개씩 만들어지고(block), <span>은 옆으로 쭉 만들어진다.(inline)

 

 

이때, 

<div> → <span> 또는 <span> → <div>로 변경하려면 display를 사용한다.

 

 

 ① display: block;

: block이고 아래로 쭉 만들어짐 (div)

 

 

② display: inline-block

: block인데 옆으로 쭉 만들어짐

 

 

③ display: inline;

: 컨텐츠 크기에 맞춰서 옆으로 쭉(span)

(span처럼 변경되니 안에 내용이 있어야만 보여짐)

 

 

 

2. position

position 기본은 static이라서 top, left 변화를 주어도 변경되지 않음

 

변경하고 싶을때 relative, absolute를 사용

 

 

① position: relative;

: 원래 본인의 자리에서 움직임

 

 

② position: absolute;

: 가장 가까운 바깥 박스를 기준으로 움직임 - position이 static이 아닌 부모를 기준으로 찾아감

(여기서는 노란색 .container 박스 기준)

 

 

③ position: fixed;

: 완전히 벗어나서 웹페이지 기준으로 움직임

 

④ position: sticky;

: 원래 자리에 있다가 스크롤했을 때 넘어가지 않고 계속 붙어있음

(지금 스크롤 내린상태)

 

 

 

 

 

참고 : 드림코딩 유튜브