HTML,CSS
[CSS] Flex box
홍홍_
2022. 5. 3. 00:23
Flexbox 📦
flexbox로 레이아웃 구성
: 박스를 유연하게 늘리거나 줄여 레이아웃을 잡는다
display : flex
- 부모의 박스에 적용하여 자식 박스의 방향과 크기를 결정
- default 값 : 자식요소는 왼쪽부터 차례대로 배치된다.
flex-direction
- Flex 요소에 방향을 지정한다.
- default 값 : 박스가 수직으로 분할되는 것
- 설정 값 : row (default), column
flex : grow shrink basis
- default값 : flex : 0 1 auto
- 세 가지는 기본 크기를 바탕으로 늘리거나 줄일 수 있다.
grow : 얼마만큼의 비율로 늘어날 것인가
box 구조
<div id="outer"> <div class="box hong">.box.hong</div> <div class="box">.box</div> <div class="box">.box</div> </div>
box hong만 비율을 줄 경우
#outer { display:flex; } .hong { flex: 1 1 auto; }
box 전체에 비율을 줄 경우
.box { border: 1px solid green; padding: 10px; flex: 1 1 auto; } .hong { }
box hong이 2 box는 1의 비율을 줄 경우
.box { border: 1px solid green; padding: 10px; flex: 1 1 auto; } .hong { flex: 2 1 auto; }
shrink : 얼마만큼의 비율로 줄어들 것인가
- grow 와 함께 속성을 사용하는 것을 추천하지 않다
- 실제 크기를 예측하기가 어렵기 때문
basis : 박스의 기본크기를 설정
- grow가 0일 때, 기본 크기를 설정한다
- width와 flex-basis를 동시에 적용하는 경우, flex-basis가 우선