CSS Layout

Seongho·2022년 7월 25일
0

front-end

목록 보기
5/6

Flex layout

부모 적용 속성

  • display : flex로 설정
  • flex-direction: flex-direction : 자식들의 방향을 정한다. row, column, reverse-row, reverse-column
  • flex-wrap : 자식들이 부모 컨테이너를 넘어갈 때 wrap으로 하면 다음 줄로 넘어가게, no-wrap은 다음 줄로 넘기지 않고 부모 컨테이너를 넘어간다.
  • justify-content : 아이템을 정렬하는 방식을 지정한다. flex-start, flex-end
  • align-items : 메인 축의 반대에서 아이템을 정렬하는 방식으로, flex-start, flex-end

자식 적용 속성

  • flex-basis : 현재 메인 축(flex-direction)의 길이
  • flex-grow : 빈 공간을 채울지 여부로 기본값은 0, 1이면 빈 공간을 채운다.
  • flex-shrink : 전체 공간의 길이가 부족할 때 해당 아이템의 길이가 flex-basis로 지정한 길이보다 작아질 수 있는지 지정한다.

Grid layout

부모 적용 속성

  • display: grid; 로 설정
  • grid-template-columns : 각 열의 width를 설정할 수 있다.
    ex) px로 설정할 수 있고, fr(fraction)으로 설정하여 비율을 나눌 수도 있다. px과 fr을 혼용하여 사용할 수 있다. 아래 예시는 grid-template-columns: 80px 1fr 2fr 80px; 로 설정한 결과값
  • grid-template-rows : columns와 같다.
  • gap : 그리드 레이아웃 내의 요소들 사이에 gap을 설정할 수 있다.
  • grid-auto-rows : auto로 설정하면 같은 행에 있는 영역들 중 컨텐츠의 행이 가장 큰 행에 맞추어 크기가 설정된다. (아래 참고)

    minmax(몇px, auto)로 설정하면 최소 픽셀을 지정하고, 영역 내부 컨텐츠에 맞게 행 높이가 조절된다. (아래 참고)
  • justify-items : 해당 영역 내에서 열의 위치를 나타낸다. stretch는 모든 영역 포함, start는 시작부분, center는 중간, end는 끝 부분이다. start로 했을 때 예시(아래 참고)
  • align-items : 해당 영역 내에서 행의 위치를 나타낸다. stretch는 모든 영역 포함, start는 시작부분, center는 중간, end는 끝 부분이다. end로 했을 때 예시(아래 참고)

자식 적용 속성

  • grid-area : 시작 행 / 시작 열 / 끝 행 / 끝 열
    아래 예는 grid-area : 1 / 1 / span 2 / span 3 이고, 다르게 표현하면
    grid-row : 1 / span 2
    grid-column : 1 / span 3 이렇게 두개로 나누어 표현할 수 도 있다.

    아래와 같이 개발자 도구 layout에서 확인할 수 있다.
profile
Record What I Learned

0개의 댓글