CSS FlexBox (feat. 드림코딩 by 엘리)

roadzmoon76·2022년 2월 10일
0

CSS

목록 보기
7/9

📘 float

  • 초기 목적은 이미지와 텍스트들을 어떻게 배치할지 정의하기 위해 나옴. 예를들어 float: left 는 이미지를 왼쪽 위에 두고, 텍스트를 감싸는 목적으로 만든거고, float: center 는 이미지를 가운데 두고, 텍스트를 감싸는 목적으로 만든거였음. 그러나 초기에는 css에 레이아웃을 할 수 있는 기능이 없다보니 float 을 이용했었음. 그러나 float 의 생성 목적에 어긋나는 사용이였음. 현재는 flexbox 의 등장으로 float 은 원래 용도로 쓰이는 중

📘 Flexbox

1️⃣ flexbox는 container에 적용하는 속성값들과 item들에 적용하는 속성값들이 따로 존재함

📖 container 에 들어가는 속성값

  • display : display: flex 를 부모 요소에 주면 자식요소들 적용됨
  • flex-direction : 배열 방향을 정함. row , row-reverse , column , column-reverse 가 있음
  • flex-wrap : 아이템들이 많아질때 정렬 방법을 설정. 기본값은 nowrap. wrap 으로 바꾸게 되면 아이템들이 꽉 차면 다음 라인으로 넘어감
  • flex-flow : flex-directionflex-wrap 를 합친 것
  • justify-content : 아이템들을 어떻게 배치할건지
    • flex-start : 앞쪽이 딱 붙어서 시작
    • flex-end : 뒤쪽이 딱 붙게 끝남
    • center : 가운데에 둠
    • space-around : 한 요소에 일정한 간격을 줌. 두 간격이 곂치는 곳은 좀더 두꺼워짐
    • space-evenly : 모든 간격이 동일해짐
    • space-between : 맨앞 맨뒤는 끝에 붙이고 간격을 일정하게 함
  • align-items : 반대축에서 배열을 배치
    • center : 반대축에서 아이템을 가운데 배치
    • baseline : 한놈에 패딩이 있어서 위치가 균등하지 않을 때 사용
  • align-content : 반대축에서 아이템을 배치

📖 item 에 들어가는 속성값

  • order : 순서 변경(현업에선 거의 안씀)
  • flex-grow : 기본값은 0. 한줄에 있는 요소들에게 숫자를 부여하면 그 비율대로 창을 늘렸을때 커짐
  • flex-shrink : 기본값은 0. 컨테이너가 점점 작아질때 어떻게 행동할 지. 한줄에 있는 요소들에게 숫자를 부여하면 그 비율대로 창이 줄어들때 더욱 줄어듬(2:1:1을 주면 2를 준놈이 2배 빨리 줄어듬)
  • flex-basis : 기본값은 auto. 아이템들이 공간을 어떻게 차지하고 있어야하는지 세부적으로 명시할 수 있게 도와줌. 30%, 20%, 50% 이런식으로 세 요소에 주면 창이 늘어나든 줄어들든 항상 저 비율을 유지함
  • align-self : 아이템 별로 정렬 가능. 컨테이너에 지정된 것을 벗어나서 아이템 하나만 특별이 배치하고 싶을 때 사용

2️⃣ flexbox에는 중심축과 반대축 개념이 있다

  • 수평축이 메인축(main axis)이 된다면 수직축은 반대축(cross axis)이되고, 수직축이 메인축이 된다면 수평축은 반대축이 됨
  • 아이템들이 정렬되어가는 곳이 메인축이다
profile
크론병걸린 자퇴생, 개발자되기

0개의 댓글