언어 및 도구들 공부/HTML, CSS

flex 개체들의 정렬

Dr.Mlem 2024. 9. 4. 15:38

Q1.

justify content => flex 정렬 진행 방향에서의 정렬

이거 맞는 말이야?
 

ChatGPT said:

ChatGPT

네, 맞는 말입니다.

justify-content는 CSS Flexbox 레이아웃에서 "flex 정렬 진행 방향에서의 정렬"을 설정하는 속성입니다. Flexbox에서는 flex-direction 속성에 따라 정렬의 방향이 결정됩니다.

  • flex-direction: row;인 경우, justify-content는 수평 방향(왼쪽에서 오른쪽)으로 아이템을 정렬합니다.
  • flex-direction: column;인 경우, justify-content는 수직 방향(위에서 아래)으로 아이템을 정렬합니다.

justify-content의 주요 값은 다음과 같습니다:

  • flex-start: 시작 부분에 아이템을 정렬
  • flex-end: 끝 부분에 아이템을 정렬
  • center: 중앙에 아이템을 정렬
  • space-between: 아이템 사이에 동일한 간격을 둠
  • space-around: 아이템 주위에 동일한 간격을 둠
  • space-evenly: 모든 아이템 사이의 간격을 동일하게 둠

따라서, justify-content는 Flexbox 컨테이너 안의 아이템들이 "flex 정렬 진행 방향에서" 어떻게 정렬될지를 지정하는 속성입니다.

 

Q2.

그러면, align-contents들은 정렬 진행방향과 어떤 방향으로 정렬하는거야?
 

ChatGPT said:

ChatGPT

align-content는 CSS Flexbox 레이아웃에서 "교차 축(cross-axis)"을 기준으로 여러 줄의 아이템을 정렬하는 속성입니다.

Flexbox에서의 주요 축 이해하기

  • 주 축(main axis): flex-direction 속성에 의해 결정된 축입니다. 기본값은 row(가로 방향)이며, 이때 주 축은 수평입니다. flex-direction: column;인 경우에는 주 축이 수직입니다.
  • 교차 축(cross axis): 주 축과 수직인 축입니다. 예를 들어, flex-direction: row;일 때 교차 축은 수직이고, flex-direction: column;일 때 교차 축은 수평입니다.

align-content의 역할

align-content는 "교차 축" 방향에서의 여러 줄의 콘텐츠 블록을 정렬합니다. align-content는 컨테이너 안에 아이템들이 여러 줄로 나뉘어 있는 경우에만 의미가 있습니다. 단일 행에서는 align-items 속성이 사용됩니다.

  • align-content의 정렬 방향은 주 축에 수직합니다. 예를 들어:
    • flex-direction: row;인 경우, 주 축이 가로이므로 교차 축은 세로입니다. 이때 align-content는 수직 방향으로 정렬을 제어합니다.
    • flex-direction: column;인 경우, 주 축이 세로이므로 교차 축은 가로입니다. 이때 align-content는 수평 방향으로 정렬을 제어합니다.

align-content의 주요 값

  • flex-start: 교차 축의 시작 부분에 여러 줄의 콘텐츠를 정렬
  • flex-end: 교차 축의 끝 부분에 여러 줄의 콘텐츠를 정렬
  • center: 교차 축의 중앙에 여러 줄의 콘텐츠를 정렬
  • space-between: 여러 줄 사이에 동일한 간격을 둠
  • space-around: 여러 줄 주위에 동일한 간격을 둠
  • space-evenly: 모든 여러 줄 사이의 간격을 동일하게 둠
  • stretch: 기본값이며, 교차 축을 채우기 위해 콘텐츠 블록을 늘림

요약하면, align-content는 "정렬 진행 방향과 수직"인 방향(즉, 교차 축)에서의 정렬을 제어합니다. 따라서 주 축과 교차 축이 어떻게 설정되는지에 따라 align-content가 정렬하는 방향이 결정됩니다.

'언어 및 도구들 공부 > HTML, CSS' 카테고리의 다른 글

Margin : auto  (0) 2024.09.10
CSS border-collapse  (0) 2024.09.09
translate(백분율, 백분율)  (0) 2024.09.03
label 로 다른 태그 연결하기  (0) 2024.09.02
border-box  (0) 2024.09.02