CSS - 레이아웃

Yongwoo Cho·2021년 10월 1일
0

TIL

목록 보기
16/98
post-custom-banner

요소를 없애는 방법

  • 기본 형태
  • display:none
    문서의 레이아웃을 변경하며 요소를 숨김(자리를 차지하지 않음)
  • visibility: hidden
    문서의 레이아웃을 변경하지 않고 요소를 숨김 (자리를 차지함)

Normal flow

요소의 레이아웃을 변경하지 않았을 때 웹페이지 요소가 자기 자신을 배치하는 방법으로 일반대열이라고 불린다.

✔ css파일을 적용하지 않았을 경우 웹 페이지의 요소는 normal flow로 배치된다.

Position

CSS position 속성은 문서 상에 요소를 배치하는 방법을 지정한다. top , right , bottom , left 속성이 요소를 배치할 최종 위치를 결정한다.

static

#box {
  position: static;
}
  • 요소를 일반적인 문서 흐름에 따라 배치
  • top, right, bottom, left, z-index 속성이 아무 영향을 주지 않음
  • 기본값

relative

#box {
  position: relative;
  top: 40px; left: 40px;
}
  • 요소를 일반적인 문서 흐름에 따라 배치
  • 자기 자신을 기준으로 top, right, bottom, left의 값에 따라 오프셋을 적용
  • 4방향 다 부여가능하지만 top, left 우선 적용 (bottom,right 적용X)
  • 오프셋은 다른 요소에는 영향을 주지 않음
  • 페이지 레이아웃에서 요소가 차지하는 공간은 static일 때와 같음

absolute

#box {
  position: absolute;
  top: 40px; left: 40px;
}
  • 요소를 일반적인 문서 흐름에서 제거하
  • 페이지 레이아웃에 공간 배정하지 않음, 대신 가장 가까운 위치 지정 조상 요소에 대해 상대적으로 배치 (단, 조상 중 위치 지정 요소가 없다면 초기 컨테이닝 블록을 기준으로 삼습니다.)
  • 최종 위치는 top, right, bottom, left 값이 지정합니다.

fixed

div.fixed {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 300px;
  border: 3px solid #73AD21;
}
  • 요소를 일반적인 문서 흐름에서 제거
  • 페이지 레이아웃에 공간도 배정하지 않음, 대신 뷰포트의 초기 컨테이닝 블록을 기준으로 삼아 배치( 단, 요소의 조상 중 하나가 transform, perspective, filter 속성 중 어느 하나라도 none이 아니라면 뷰포트 대신 그 조상을 컨테이닝 블록으로 삼습니다.)
  • 최종 위치는 top, right, bottom, left 값이 지정합니다.

sticky

#box {
  position: sticky;
  top: 20px;
}
  • 요소를 일반적인 문서 흐름에 따라 배치
  • 테이블 관련 요소를 포함해 가장 가까운, 스크롤 되는 조상과, 표 관련 요소를 포함한 컨테이닝 블록(가장 가까운 블록 레벨 조상) 을 기준으로 top, right, bottom, left의 값에 따라 오프셋을 적용
  • 오프셋은 다른 요소에는 영향을 주지 않음

Overflow

overflow CSS 단축 속성은 요소의 콘텐츠가 너무 커서 요소의 블록 서식 맥락에 맞출 수 없을 때의 처리법을 지정한다. 기본값은 visible이다.

overflow: hidden;
overflow: scroll;
overflow: auto;
  • hidden 적용시 넘치는부분은 짤려서 보이지 않는다
  • scroll 적용시 컨텐츠안에 스크롤이 생겨서 넘치는 부분이 없도록한다
  • auto 적용시 컨텐츠가 넘치면 자동으로 scroll을 생성하여 넘치지 않도록 한다
profile
Frontend 개발자입니다 😎
post-custom-banner

0개의 댓글