danc
danc*dev
danc
  • 분류 전체보기
    • codestates_BE_bootcamp39
      • 주단위 일기
      • 회고
    • programming
      • JAVA
      • SPRING
      • GENERAL
      • LINUX
      • ALGORITHM
      • ERROR_HANDLING
    • web
      • NETWORK
      • DB
      • HTML
      • CSS
    • kr
    • nz

최근 글

인기 글

태그

  • 코드스테이츠 백엔드
  • 코드스테이츠
  • 일기
  • TIL일기
  • 회고
  • HTTP
  • 윈도우 11 우분투
  • AOP
  • css
  • React에서 Authorization헤더
  • TIL
  • TIL 일기

최근 댓글

티스토리

hELLO · Designed By 정상우.
danc
web/CSS

flex 아이템 (Child) 의 속성

flex 아이템 (Child) 의 속성
web/CSS

flex 아이템 (Child) 의 속성

2022. 4. 28. 17:41

Child 박스에서 flex의 속성에 어떠한 값도 설정하지 않으면 자동으로 아래와 같은 기본값이 적용된다.

flex: 0 1 auto;

//기본 크기를 필요에 따라 늘리고 줄일수 있는 속성값.
flex: <grow> <shrink> <basis>

속성을 margin 이나 padding 처럼 따로 처리 할수도 있다

flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;

// grow 와 shrink는 단위가 없고 비율에 따라 작동한다.

 

flex-grow

>
총량을 기준으로 비율로 크기를 맞춰서 조절한다고 생각하자.

.child_grow
{	
flex: 1 1 auto;
}
.target
{
flex: 2 1 auto;
}
-------------------------------------
<div class="flex-container">
  <div class="child_grow target">Element 1</div>
  <div class="child_grow">Element 2</div>
  <div class="child_grow">Element 3</div>  
</div>


Child Element1 은 child_grow 와 target 클래스를 가지고 있고 나머지 Element 2, 3은 child_grow 클래스만 갖고있다. 

Element1의 속성값은 2, Element2,3은 각각 1을 갖고 있으므로 적용된 grow의 전체값은 (2+1+1)=4.

총량이 1이라 가정했을때 Element1는 2/4 (50%), Element2 1/4 (25%), Element3 1/4 (25%) 의 비율을 갖는다.

 

flex-basis

자식 박스의 기본 크기를 정한다. 

// basis 값을 넣을땐 flex-grow를 0으로 설정해야 200px 이상으로 늘어나지 않는다 (고정)
.testing { flex: 0 1 200px; }

// grow값이 1 이상이면 basis로 정한 크기보다 커질 수 있다.

몇가지 참고할만한 특징으로는,

* 동시에 width와 basis를 적용할때 basis가 우선시
* 콘텐츠 양 때문에 자식 박스를 초과할때는 width가 정확한 크기를 보장하지 않는다.
* basis를 사용하지 않는다는 가정하에 자식 박스를 콘텐츠가 초과하는 상황에서 width 대신 max-width를 쓸 수 있다. 

 

간혹 자식 박스끼리 똑같은 grow 값을 적용했는데 width 비율이 1:1:1이 아닐 경우가 생길 수 있다. 

박스의 기본 크기를 설정하는 flex-basis 속성값이 auto로 되어있어 일어나는 현상으로 완벽하게 딱 맞게 하고 싶으면 속성을 0 으로 맞춰야한다. 

https://www.w3.org/TR/css-flexbox-1/images/rel-vs-abs-flex.svg

 

Flexbox not giving equal width to elements

Attempting a flexbox nav that has up to 5 items and as little as 3, but it's not dividing the width equally between all the elements. Fiddle The tutorial I'm modeling this after is http://www.sit...

stackoverflow.com

저작자표시 (새창열림)

'web > CSS' 카테고리의 다른 글

flex 컨테이너 (Parent) 의 속성  (0) 2022.04.28
Layout with Flex Container  (0) 2022.04.28
BOX MODEL  (0) 2022.04.27
FONT  (0) 2022.04.27
Id & Class Selectors  (0) 2022.04.27
  • flex-grow
  • flex-basis
'web/CSS' 카테고리의 다른 글
  • flex 컨테이너 (Parent) 의 속성
  • Layout with Flex Container
  • BOX MODEL
  • FONT
danc
danc
Backend 개발자를 목표로 공부 중 입니다.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.