웹 또는 애플리케이션을 개발할 때 레이아웃의 뼈대를 그리는 단계
단순한 선이나, 도형으로 웹이나 앱의 인터페이스를 시각적으로 묘사한 것
제품의 구조를 보여주는 용도(정적인 수준)
스타일링 요소나 UX(사용자 경험, User Experience)를 판단하는 것은 아님
=> 페어님과 이야기하면서 진행을 하다가 와이어프레임이 아니라 mockup을 만듦 ㄷㄷ
=> 여러가지 레이아웃 사례를 보고 생각해보고 적용해보는 과정이 필요할 것 같다
height
속성을 추가하면, 수평분할을 보다 직관적으로 할 수 있음참고 : https://romcanrom.tistory.com/11
요소의 정렬, 요소가 차지하는 공간을 설정할 수 있음
display: flex;
를 자식 요소가 아닌 부모 요소에 적용해야 함
flex-direction
을 이용하여 1차적으로 전체요소의 정렬 방향을 결정
justify-content
와align-items
를 이용하여 내부 요소들의 수평-수직 정렬을 결정
flex-grow
를 이용하여 요소를 얼마나 늘릴 것인지 결정
flex-basis
를 이용하여 요소의 기본 크기를 결정
flex-direction : 정렬 축 방향 정하기
부모 요소에 설정해주는 속성으로, 자식 요소들을 정렬할 정렬 축을 결정. 디폴트는 가로(row) 정렬
flex-wrap : 줄 바꿈 설정
하위 요소들의 크기가 상위 요소의 크기를 넘으면 자동 줄 바꿈을 할지 정함. 설정안하면 no wrap
justify-content : 축 수평 방향 정렬
자식 요소들을 축의 수평 방향으로 어떻게 정렬할 것인지 결정
요소들이 가로로 정렬되어 있다면 가로 방향으론 어떻게 정렬할 것인지,
세로로 정렬되어 있다면 세로 방향으론 어떻게 정렬할 것인지 정하는 속성
주요 속성값 : flex-start. flex-end, center, space-between, space-around
align-items : 축 수직 방향 정렬
자식 요소들을 축의 수직 방향으로 어떻게 정렬할 것인지 정함.
요소들이 가로로 정렬되어 있다면 세로 방향으론 어떻게 정렬할 것인지,
세로로 정렬되어 있다면 가로 방향으론 어떻게 정렬할 것인지 정함
주요 속성값 : stretch, flex-start, flex-end, center, baseline
flex 속성의 값
div {
flex: grow; /* 팽창 : 요소가 얼마나 늘어날 것인가 */
flex: shirink; /* 수축 : 요소가 얼마나 줄어들 것인가 */
flex: basis; /* 기본 : 기본 크기가 얼마인가 */
flex: grow shrink basis; /* 세가지 값 동시 지정 */
flex: 0 1 auto; /* 미설정시 정해지는 기본값 */
}
창의 크기가 달라져도 비율을 유지하면서 움직이는 반응형
px 단위가 아닌 vw vh flex-grow % 로 해봄 => 실무에서는 어떻게 할까?
작업물 : https://codesandbox.io/s/friendly-haze-utm78h?from-embed